C#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(打印),即使拔下插头或纸张已用完。

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

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

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