Доступ к свойствам принтера (количество оставшейся бумаги) программно
У меня есть фото-киоск, который делает фотосъемку и печать. Киоск запускается автоматически утром и выключается ночью с помощью задачи расписания Windows. Сейчас я пытаюсь добавить оповещение по электронной почте в систему киоска, чтобы, когда на принтере заканчивалась бумага, было отправлено электронное письмо, чтобы уведомить сотрудника службы поддержки о необходимости положить новый рулон бумаги. В данный момент я использую хак, который получает оставшуюся бумагу из утилиты принтера, извлекая текст из утилиты принтера с помощью AutoHotKey (см. Изображение для утилиты принтера, это отдельный исполняемый файл объемом 500 КБ). Я также проверил с поставщиком принтера, но у них нет библиотеки, которую я мог бы вызвать программно.
Что я хочу знать, так это то, что если есть способ получить свойства принтера через общий API печати в Windows или каким-либо образом скопировать команду, отправленную из утилиты, с помощью USB Sniffer, я попытался прослушать порт USB, к которому подключен принтер. используя USBSnoop и USBlyzer, но пока не могу понять, как была вызвана команда. Есть идеи?
Обновление 1: вот код автоотключения, который я использовал, чтобы получить текст из окна.
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.