2014-09-24 4 views
1

Я разрабатываю программу на C++, которая управляет всеми документами, отправленными на принтеры в моей компании. Я использую spool api для захвата информации о заданиях, которые отправляются на принтеры. Мне нужно собрать некоторую информацию о том, какое приложение печатало задание (Word, Libre Office и т. Д.). Кто-нибудь знает, можно ли получить эту информацию с помощью любой функции катушки или через другую DLL, которая дает мне эту информацию?приложение, которое напечатало документ

ответ

0

Если вы можете определить идентификатор или дескриптор потока, который выполняет печать, вы можете проследить это обратно к процессу, а затем, вероятно, получить исполняемое имя.

Но я ничего не вижу в событиях EnumJobs или документах, которые дают вам что-нибудь полезное (помимо имени пользователя), поэтому я не думаю, что это возможно с помощью обычных API.

С помощью Detours или, возможно, какого-либо крючка, вы можете это сделать, но у меня нет никаких подробностей.