C#PrintDocument和打印机状态

Pri*_*rky 5 c# printing printdocument status

我试图使用以下代码获取PointOfSale打印机的打印机状态:

Hashtable properties = new Hashtable();
ManagementObjectSearcher searcher = new ManagementObjectSearcher("SELECT * FROM Win2_Printer");

foreach (ManagementObject obj in searcher.Get()) {
  if (obj["name"].ToString() == printerName) {
    foreach (PropertyData data in obj.Properties) {
      if(data.Name.ToLower() = "printerstatus") {
        int printerStatus = Convert.ToInt32(data.Value);
      }
    }
  }
}
Run Code Online (Sandbox Code Playgroud)

问题是,状态是3(空闲)或4(打印),即使拔下插头或纸张已用完.

我已经阅读了很多相同问题的帖子,但还没有找到答案.它是否正确?我怎么检查状态?任何帮助表示赞赏.

小智 0

您使用什么品牌的打印机?

有时,品牌会有一个特定的命令,您可以发送该命令来查询状态。