2011-09-06 98 views
5

我嘗試使用下面的代碼獲得PointOfSale打印機的打印機狀態:C#的PrintDocument和打印機狀態

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(印刷),甚至當拔掉插頭或紙張用完時。

我已閱讀了很多與此相同的問題的帖子,但還沒有找到答案。它是否正確?我還會如何檢查狀態?任何幫助表示讚賞。

回答

0

您正在使用哪種品牌的打印機?

有時,品牌有一個特定的命令,您可以發送查詢狀態。

+0

定製VKP80 II – PrinterNoWorky

+0

我會說繼續研究它。此頁面http://www.custom.it/eng/products/show_product.aspx?id=KioskEquipment&pid=47表明他們有一個狀態DLL。你需要找到一些文件。 – CommonSense

+0

雅,我找到了鏈接。我通過電子郵件發送技術支持,並收到意大利人的回覆。謝謝你的努力,壽! – PrinterNoWorky