使用C#检测打印机的电源状态

时间:2013-08-30 02:36:17

标签: c# printing wmi

我做了很多搜索,但没有任何内容。如下所示:

c# check printer status

how do i check if a printer is installed and ready using C#?

我尝试了我在这里找到的所有代码,但没有一个可以告诉打印机电源的状态是打开还是关闭。

打印机始终处于插入状态,有时会关闭电源,因此我需要确保打开电源然后再进行打印作业。

真的需要一些帮助!

问题更新

当我的打印机关闭时,Windows仍会将打印作业发送到打印假脱机,我不需要这样,因为我的客户有时会故意关闭打印机以避免打印他不需要的东西。但是Windows仍然将它发送到假脱机,当我的客户再次打开打印机时,它会打印出他想要避免的东西。

遗留代码使用kernel32.dll的CreateFile函数将LPT1作为文件打开,并直接向其写入字符串以完成打印功能。它无法知道打印机的状态,它只是将字符串写入并行端口。所以当打印机关闭时,写入功能没有返回,因此之后的代码永远不会被执行。

希望你能理解我在这里要做的事情。我想避免打印机关闭时打印的情况。

0 个答案:

没有答案