refer tohttp://expert.csdn.net/Expert/topic/1620/1620549.xml?temp=.5712397

解决方案 »

  1.   

    PrinterSettings ps=new PrinterSettings ();
    try
    {
    foreach(String pkInstalledPrinters in 
    PrinterSettings.InstalledPrinters) 
    {
    // ps.PrinterName =pkInstalledPrinters;
    // if (ps.IsValid )
    // return true;
    }
    return true;
    }
    catch(Win32Exception )
    {
    return false;
    }
      

  2.   

    用PrinterSettings的IsValid属性来判定似乎不行,它只是判定打印机名称是否有效,我需要的是检测它的状态,如(打印机电源没能开启或者我用的是网络打印机,我没有访问过打印机服务器,这种情况下无法打印,需要提示,我不想去调用windows的API来检测,我想Microsoft在.Net框架里面应该封装了这些功能,可是我查不到)
      

  3.   

    or refer tohttp://groups.google.com/groups?hl=en&lr=&ie=UTF-8&oe=UTF-8&threadm=uV9zdJkMCHA.2392%40tkmsftngp04&rnum=2&prev=/groups%3Fhl%3Den%26lr%3D%26ie%3DUTF-8%26oe%3DUTF-8%26selm%3DuV9zdJkMCHA.2392%2540tkmsftngp04%26rnum%3D2