Автор
|
Тема: Как отследить печать на принтере? Сколько страниц отпечатано
|
TeZi5 |
опубликован 19-06-2001 11:06 MSK
Короче, кто-то из диспетчеров повадился рефераты печатать на их струйнике. Руководство отдало приказ мне написать прогу, чтоб отслеживала кол-во страниц, посланных на печать и время, когда печатали. Я даже не знаю, с какой стороны подступиться...
|
purpe
|
опубликован 19-06-2001 11:56 MSK
я уже поднимал данный вопрос здесь, но всё свелось к тому, что надо VxD перехватчик ваять, поэтому тема не получила продолжения :( А вообще вопрос нужный. Но вот ответа на него пока не удаётся получить...
|
OlegN
|
опубликован 19-06-2001 14:36 MSK
Если подитожить предыдущую дискуссию по этому вопросу то получится два варианта реализации счетчика : 1-й самый сложный сделать драйвер-заглушку, который подгружает настоящий драйвер, функции заглушки будут вызывать функции подменяемого драйвера, ну и при необходимости вести счетчик вызовов и т.д. 2-й попроще : Написать прогу , которая устанавливает hook на функции StartPage и EndPage для каждого загруженного процесса и отслеживает вызовы этих функций. Недостаток этого способа : нельзя отследить сетевую печать, нужно отслеживать создание/процессов, модифицировать таблицу export-а функций для каждого процесса, если в ней есть ссылки на StartPage, EndPage функции. Подробно про это можно прочитать в книге Matt Pietrek "Window 95 programming secrets" которая есть на этом сайте. |
OlegN
|
опубликован 19-06-2001 14:48 MSK
Прошу прощения за ошибку, модифицировать таблицу import-a (секция .idata в PE файлах) смотри описание .idata секции и IMAGE_IMPORT_DESCRIPTOR структуры на http://www.rsdn.ru/article/printv.asp?baseserv/pe_coff.xml |