C#PrintDocument和打印机状态

时间:2011-09-06 19:10:58

标签: c# printing status printdocument

我正在尝试使用以下代码获取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(打印),即使拔下插头或纸张已用完。

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

1 个答案:

答案 0 :(得分:0)

您使用的是什么牌子的打印机?

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