如何检查打印机是否在网络中?

时间:2015-10-04 08:16:56

标签: c# .net printing

我正在使用此代码检查我的打印机是否在网络中。当我第一次点击“打印”按钮时,它给了我未连接状态。当我第二次打它成功打印时。但我的打印机总是在网络中。

public bool IsPrinterReady(string PrinterName)
{
    ManagementScope scope = new ManagementScope(@"\root\cimv2");
    scope.Connect();
    ManagementObjectSearcher searcher = new ManagementObjectSearcher("select * from Win32_Printer");

    string strPrinter = string.Empty;
    foreach(ManagementObject printer in searcher.Get())
    {
        strPrinter = printer["Name"].ToString();
        if(strPrinter.ToLower() == PrinterName.ToLower())
           return printer["PrinterStatus"].ToString().ToLower().Equals("3");
    }
    return false;
}

请注意,我总是将以下if语句的值设为true

if(strPrinter.ToLower() == PrinterName.ToLower())

我只是从

获得不同的值
printer["PrinterStatus"].ToString()

提前致谢

0 个答案:

没有答案