C# PrintDocument and Printer Status

本文关键字:Status Printer and PrintDocument | 更新日期: 2023-09-27 18:07:38

我正在尝试使用以下代码获取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);
      }
    }
  }
}

问题是,状态要么是3(空闲),要么是4(打印),即使拔掉电源或纸用完了。

我读了很多关于这个问题的帖子,但没有找到答案。这是正确的吗?我还能怎么检查状态?

C# PrintDocument and Printer Status

你用的是什么牌子的打印机?

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