Руководство поставило задачу — контролировать сколько сотрудники печатают на принтере.
Может кто подскажет идейку как средствами USER-mode получать данные о печати, не хочется связываться с написанием драйвера
Пробовал через журнал событий считать, но возникла проблема такого рода, если пользователь отменяет печать, то учитываются либо все посланные страницы, либо ничего — а это недопустимо.
Здравствуйте, IbragimEx, Вы писали:
IE>Доброго времени суток IE>Руководство поставило задачу — контролировать сколько сотрудники печатают на принтере.
Если не надо статистики по каждому пользователю, то можно попросить принтер сказать сколько на нем напечатали. Обыкновенно, когда напечатать пробную страницу, на ней указываетсясколько на данный момент количество напечатанных страниц.
Так нас контроллировали когда я работал в редакционном отделе одного вуза. Записывали каждый день сколько страниц напечатано и смотрели разницу. Конечно программный режим намного круче... Только есть у меня чувство что принтер не обязан давать выдавать свою статистику по програмному запросу (хотя все может быть).
Любая задача имеет решение, даже когда решения не существует
Здравствуйте, adontz, Вы писали:
A>Здравствуйте, IbragimEx, Вы писали:
IE>>если пользователь отменяет печать, то учитываются либо все посланные страницы, либо ничего — а это недопустимо.
A>Ну и часто такое бывает?
Я думаю что если страницы не учитываются, то начальству это не на руку. А если учитываются, тогда пользователь всегда может сказать своему начальнику дескать случайно кнопку принт нажал, после чего отменил (хотя действительно он напечатал все что надо было). В результате опять же страницы не учитываются.
A>И не компенсируют ли друг друга эти два случая, если их много?
По этому вопросу можно спорить... Как на меня, на случайность лучше не опиратся (если есть метод более точный).
Любая задача имеет решение, даже когда решения не существует
Здравствуйте, Burd, Вы писали:
B>Я думаю что если страницы не учитываются, то начальству это не на руку. А если учитываются, тогда пользователь всегда может сказать своему начальнику дескать случайно кнопку принт нажал, после чего отменил (хотя действительно он напечатал все что надо было). В результате опять же страницы не учитываются.
Тут вопрос в том зачем вообще считать страницы? Бумагу и так можно посчитать по количествам купленной и оставшейся. Тонер считать вообще дело неблагодарное. В одинаковых картриджах (одной модели и даже партии) его всё таки разное количество. Если картриджи заправляют, то и подавно не ясно сколько в них тонера.
Кроме того я могу один и тот же документ распечатать с разными шаблонами растеризации, в режиме экономии тонера или без него. Так что количество распечатанных страниц и количество потраченного тонера не очень-то связаны. А струйные принтеры обычно имеют утилитки, которые показывают сколько тонера осталось.
Что касается Нажали Cancel, напечаталось, но в Event Log ничего нет.
Нажали Cancel, ничего не напечаталось, но в Event Log есть запись.
Напечатлось или нет, это аппаратные особенности принтера и программные особенности его драйвера. Есть например принтеры (вернее были), которые после сбоя питания допечатывали документ. Как бы низко вы не опустились вы не получите информацию, которую принтер не передаёт.
Более того, на многих All-in-One устройствах есть функция повтора печати. Это аппаратная функция и компьютер опять таки не получает никаких оповещений (и может быть вообще выключен). То же копирование выполняется этими устройствами безнадзорно.
Так что казёную бумагу посчитать просто, а казёный тонер совершенно невозможно. Лучше сразу забудьте об этом.
Можешь посмотреть, как этот контроль реализован у меня: http://www.co.ru/~nadya/ras_logger_ru.htm. Только там наблюдение ведется непрерывно, в режиме мониторинга. Зато с отменой печати вроде бы все нормально (если драйвер принтера работает в bi-directional режиме, т.е. винда в курсе, какая страница в данный момент печатается).
Здравствуйте, IbragimEx, Вы писали:
IE>Доброго времени суток
IE>Руководство поставило задачу — контролировать сколько сотрудники печатают на принтере.
Здравствуйте, Nazik, Вы писали:
N>Можешь посмотреть, как этот контроль реализован у меня: http://www.co.ru/~nadya/ras_logger_ru.htm. Только там наблюдение ведется непрерывно, в режиме мониторинга. Зато с отменой печати вроде бы все нормально (если драйвер принтера работает в bi-directional режиме, т.е. винда в курсе, какая страница в данный момент печатается).
Поюзал твою программку и у меня возикла такая проблема: в логе все время стоит что напечатоанно 0 страниц
У меня CANON LBP 1120 как быть
Никак Сейчас нет времени разбираться, такие траблы действительно возникают на некоторых принтерах, видимо, некоторые драфвера не посылают необходимые события В любом случае, копайся в исходниках, много чего черпанешь.
Здравствуйте, IbragimEx, Вы писали:
IE>Здравствуйте, Nazik, Вы писали:
N>>Можешь посмотреть, как этот контроль реализован у меня: http://www.co.ru/~nadya/ras_logger_ru.htm. Только там наблюдение ведется непрерывно, в режиме мониторинга. Зато с отменой печати вроде бы все нормально (если драйвер принтера работает в bi-directional режиме, т.е. винда в курсе, какая страница в данный момент печатается).
IE>Поюзал твою программку и у меня возикла такая проблема: в логе все время стоит что напечатоанно 0 страниц IE>У меня CANON LBP 1120 как быть
"Nazik" <30202@users.rsdn.ru> wrote in message news:1937347@news.rsdn.ru... > Никак Сейчас нет времени разбираться, такие траблы действительно возникают на некоторых принтерах, видимо, некоторые драфвера не посылают необходимые события В любом случае, копайся в исходниках, много чего черпанешь.
У меня был опыт в написании подобной проги, чего только кривые дрова не присылают, например цисло страниц умноженное на два, или даже возведенное в квадрат