今天研究了下获取打印机状态才知道,不同牌子的打印机获取都是不同的。
公司都是使用TSC的打印机,因此我用的是TSCLIB.dll。
[DllImport("TSCLIB.dll", EntryPoint = "usbportqueryprinter")]
public static extern int usbportqueryprinter();
不需要指定打印机名称,直接调用TSCLIB里的usbportqueryprinter,即可获取TSC打印机状态。
状态值如下:
(注:usbportqueryprinter返回的是int,图中的是16进制)
我试过电脑只有一台TSC打印机,是可以获取到真实状态,不过如果有不同型号的打印机,就没试过了。