今天研究了下獲取打印機狀態才知道,不同牌子的打印機獲取都是不同的。
公司都是使用TSC的打印機,因此我用的是TSCLIB.dll。
[DllImport("TSCLIB.dll", EntryPoint = "usbportqueryprinter")]
public static extern int usbportqueryprinter();
不需要指定打印機名稱,直接調用TSCLIB裏的usbportqueryprinter,即可獲取TSC打印機狀態。
狀態值如下:
(注:usbportqueryprinter返回的是int,圖中的是16進制)
我試過電腦只有一臺TSC打印機,是可以獲取到真實狀態,不過如果有不同型號的打印機,就沒試過了。