Window打印机

作者: RICK_216 | 来源:发表于2021-05-11 12:00 被阅读0次
    namespace Sp.Base.Core.Utils
    {
        public class WindowsUtil
        {
            #region 设备
    
            /// <summary>
            /// 打印机
            /// </summary>
            /// <returns></returns>
            public static string[] GetPrinters()
            {
                string[] installedPrinters = new string[PrinterSettings.InstalledPrinters.Count];
                PrinterSettings.InstalledPrinters.CopyTo(installedPrinters, 0);
                return installedPrinters;
            }
    
            public static PrinterStatus GetPrinterStatus(string printerName)
            {
                string path = $"win32_printer.DeviceId='{printerName}'";
                ManagementObject printer = new ManagementObject(path);
                printer.Get();
                PrinterStatus ret = (PrinterStatus)Convert.ToInt32(printer.Properties["PrinterStatus"].Value);
                return ret;
            }
            #endregion
        }
    
        #region 枚举
        /// <summary>
        /// 打印状态
        /// </summary>
        public enum PrinterStatus
        {
            /// <summary>
            /// 其他状态
            /// </summary>
            Other = 1,
            /// <summary>
            /// 未知
            /// </summary>
            UnKnow,
            /// <summary>
            /// 空闲
            /// </summary>
            Waiting,
            /// <summary>
            ///  正在打印
            /// </summary>
            Printing,
            /// <summary>
            /// 预热
            /// </summary>
            WarmingUp,
            /// <summary>
            /// 停止打印
            /// </summary>
            Paused,
            /// <summary>
            ///  打印中
            /// </summary>
            Processing,
            /// <summary>
            /// 离线
            /// </summary>
            Offline
        }
        #endregion
    }
    
    

    相关文章

      网友评论

        本文标题:Window打印机

        本文链接:https://www.haomeiwen.com/subject/lvmgdltx.html