C#获取打印机状态(1)——System.Management

C#中获取打印机状态,以下是一个操作实例:

需要添加引用System.Management,已封装成Printer类:

    public class Printer
    {
        /// <summary>
        /// 构造函数
        /// </summary>
        /// <param name="name">打印机名称</param>
        public Printer(string name)
        {
            this.printer_name = name;
        }

        // 设备名:EPSON R330 Series
        private string _printer_name;
        /// <summary>
        /// 打印机名称
        /// </summary>
        public string printer_name
        {
            get
            {
                return _printer_name;
            }
            set
            {
                _printer_name = value;
            }
        }

        /// <summary>
        /// 获取打印机状态
        /// </summary>
        /// <returns></returns>
        public int getStatus()
        {
            string path = @"win32_printer.DeviceId='" + this.printer_name + "'";
            ManagementObject printer = new ManagementObject(path);
            printer.Get();
            return Convert.ToInt32(printer.Properties["PrinterStatus"].Value);
        }

    }

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章