检测打印机是否连接好!

来源:互联网 发布:虚拟主机 mysql utf8 编辑:程序博客网 时间:2024/05/15 06:37

下面的代码就是去测试你系统中的打印机是否是已经连接好,它能运用于usb及 网络打印机(并行口打印机还没有测试>

using System;using System.Management; namespace zedilabs.com{ class PrinterOffline {  [STAThread]  static void Main(string[] args)  {   // Set management scope   ManagementScope scope = new ManagementScope(@"/root/cimv2");   scope.Connect();   // Select Printers from WMI Object Collections   ManagementObjectSearcher searcher = new     ManagementObjectSearcher("SELECT * FROM Win32_Printer");   string printerName = "";   foreach (ManagementObject printer in searcher.Get())    {    printerName = printer["Name"].ToString().ToLower();    if (printerName.Equals(@"hp deskjet 930c"))    {     Console.WriteLine("Printer = " + printer["Name"]);      if (printer["WorkOffline"].ToString().ToLower().Equals("true"))     {      // printer is offline by user      Console.WriteLine("Your Plug-N-Play printer is not connected.");     }     else     {      // printer is not offline       Console.WriteLine("Your Plug-N-Play printer is connected.");     }    }   }  } }}
注意:上面的WorkOffline 这个属性对Windows2000.winNT不提供。所以最好不用这个属性,请用 PrintStatus
 if(strPrinter.ToLower() == PrinterName.ToLower())
         return printer["PrinterStatus"].ToString().ToLower().Equals("3");