在项目中遇到需要获取到打印机状态,可以通过下面的方式获得,PrintQueueStatus是一个枚举,我在下面只取了其中的几个值,可以根据你的需要获取状态
代码语言:javascript复制using System.Printing;
public static void GetPrintStatus()
{
PrintQueue pq = LocalPrintServer.GetDefaultPrintQueue();
switch (pq.QueueStatus)
{
//正常状态
case PrintQueueStatus.None:
Console.WriteLine("正常运行");
break;
//纸未取走
case PrintQueueStatus.OutputBinFull:
Console.WriteLine("未取走");
break;
//缺纸
case PrintQueueStatus.PaperOut:
Console.WriteLine("缺纸");
break;
//打印
case PrintQueueStatus.Printing:
Console.WriteLine("正在打印");
break;
default:
Console.WriteLine(pq.QueueStatus);
break;
}
}