Как получить исходный полный путь к файлу, напечатанный Spooler API - PullRequest
1 голос
/ 21 ноября 2010

Я хочу отслеживать задания печати системной области с помощью отдельной программы, использующей API-интерфейс Windows Spooler, но можно выбрать только имя задания на печать.Как получить оригинальный файл с полным путем.

1 Ответ

3 голосов
/ 22 ноября 2010

Если вы ищете исходный путь к документу (например, местоположение документа Word, который вы только что распечатали), диспетчер очереди печати не сможет сказать вам об этом.

Диспетчер очереди обычно получает файлы через пути GDI или XPS.Приложение, которое выполняет печать, эффективно отправляет спулеру серию графических команд (через соответствующий драйвер устройства), которые служба спулера будет кэшировать во временный файл перед отправкой на принтер.Это означает, что сам диспетчер очереди печати не знает ничего о исходном исходном файле или о том, где он находится.

Если вам интересно, как диспетчер очереди получает имя документа, это делается с помощью вызова StartDoc, который передается в DOC_INFO_x структура.Это касается всей информации, которую спулер получает в отношении самого исходного документа.

...