示例#1
0
        /// <summary>
        /// 获取打印机状态
        /// </summary>
        /// <returns></returns>
        public enum_printerS_status getStatus()
        {
            enum_printerSys_status statusSys = base.getStatus();
            enum_printerS_status   status;

            switch (statusSys)
            {
            // Epson
            case enum_printerSys_status.free:
                status = enum_printerS_status.ready;
                break;

            case enum_printerSys_status.print:
            case enum_printerSys_status.printing:
                status = enum_printerS_status.print;
                break;

            case enum_printerSys_status.warmup:
                status = enum_printerS_status.other;
                break;

            default:
                status = enum_printerS_status.warn;
                break;
            }
            return(status);
        }
示例#2
0
        /// <summary>
        /// 获取打印机状态
        /// </summary>
        /// <returns></returns>
        public string getStatus()
        {
            string path = @"win32_printer.DeviceId='" + this.printer_name + "'";

            try
            {
                ManagementObject printer = new ManagementObject(path);
                printer.Get();
                var aa = printer.Properties;
                var b  = printer.Properties["WorkOffline"].Value;
                //var b1 = printer.Properties[""].Value;
                enum_printerSys_status a = (enum_printerSys_status)(Convert.ToInt32(printer.Properties["PrinterStatus"].Value));

                //printer.Dispose();
                return(a.ToString());
            }
            catch (Exception ex)
            {
                return("出错" + ex.Message);
            }
        }