Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/293.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/ruby-on-rails-4/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 使用c语言检测打印机状态的最可靠方法_C#_Winforms_Printing_Wmi_Printdocument - Fatal编程技术网

C# 使用c语言检测打印机状态的最可靠方法

C# 使用c语言检测打印机状态的最可靠方法,c#,winforms,printing,wmi,printdocument,C#,Winforms,Printing,Wmi,Printdocument,我正在编写一个应用程序,用户在打印发票之前需要确保打印机处于联机/工作状态 internet上的大多数解决方案都指向WMI类以查询打印机及其属性,包括PrinterStatus、PrinterState。。等等 但是,该方法存在始终返回空闲状态的问题,请检查 那么,有没有一种方法可以使用WMI来检测打印机是否正常工作?或者如果存在,我应该使用其他方法吗 注: 另一种方法可能是使用PrintQueue类,但我不确定是否能够检测到PrintDocument类发送的用于打印的确切打印作业。真正的问题是

我正在编写一个应用程序,用户在打印发票之前需要确保打印机处于联机/工作状态

internet上的大多数解决方案都指向WMI类以查询打印机及其属性,包括PrinterStatus、PrinterState。。等等

但是,该方法存在始终返回空闲状态的问题,请检查

那么,有没有一种方法可以使用WMI来检测打印机是否正常工作?或者如果存在,我应该使用其他方法吗

注:
另一种方法可能是使用PrintQueue类,但我不确定是否能够检测到PrintDocument类发送的用于打印的确切打印作业。

真正的问题是什么?你能使用WMI和C吗?当然代码执行时有问题吗?如果打印机处于“空闲”状态,则应该可以正常工作。我唯一能想到的另一种方法是检查ip地址是否响应,这基本上与空闲相同——或者像打印测试页面一样向ip地址打印内容,并检查打印队列——但除此之外,我不相信还有其他方法@Daniel B:问题是检测打印机状态的最佳方法是什么,因为WMI在我看来似乎不可靠。我已经写了代码,但它总是给我空闲状态。@亚历克斯·卡尔森:我关掉了打印机,它一直给我空闲状态。我需要一种更好的方法来检查打印机是否准备好。我怎样才能ping打印机?