我有一个照片亭,可以拍照和打印。自助服务终端在早上自动启动,并在晚上使用Windows的计划任务关闭。现在我正在尝试向自助服务终端系统添加电子邮件警报,以便当打印机在纸上运行不足时,将发送一封电子邮件通知支持人员进行新的纸卷。目前,我正在使用一个黑客程序,通过使用AutoHotKey从打印机实用程序中获取文本,从打印机实用程序中检索剩余的纸张数量(请参阅打印机实用程序的图像,它是一个500kb的单个可执行文件)。我还检查过打印机供应商,但他们没有任何我可以通过编程方式调用的库。
我想知道的是,如果有办法通过Windows下的常用打印API检索打印机属性,或者通过使用USB Sniffer复制从该实用程序发送的命令的任何方法,我试过嗅探USB端口打印机使用USBSnoop和USBlyzer连接,但无法确定命令的调用方式。有什么想法吗?
更新1: 这是我用来从窗口抓取文本的autohotkey代码。
Run, "C:\Documents and Settings\Crescendo4\Desktop\HTools-3.9.3.exe",, Min
Sleep 400
ControlGetText, OutputVar, Static13, HTools 3.9.3
MsgBox, 4096,, %OutputVar%, 1
WinClose, HTools 3.9.3
更新2: 尝试WinAPIOverride32,但它没有显示任何DLL调用。