C#判断打印机是否可用

来源:互联网 发布:安卓免费网络加速器 编辑:程序博客网 时间:2024/05/18 01:11
 public class CheckPrinterState
    {

        public static bool CheckPrinter(string printerName1)
        {

            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.IndexOf(printerName1.ToLower()) > -1)
                {
                   
                    if (printer["WorkOffline"].ToString().ToLower().Equals("true"))
                    {
                        return false;
                        // printer is offline by user
                       
                    }
                    else
                    {
                        // printer is not offline
                       
                        return true;
                    }
                }
            }
            return false;
        }
    }
0 0
原创粉丝点击