Автор | Сообщение |
|
| постоянный участник
|
Пост N: 7179
Зарегистрирован: 12.09.06
|
|
Отправлено: 17.12.21 12:15. Заголовок: Узнать что отправлено на принтер ?
Можно ли узнать из своей проги что отправлено на печать ? Т.е. нужно вести лог, какие документы из программы отправляли на печать. Соответственно из Харбора напрямую и если из программы подняли Ворд/Эксель - то перехватить была ли печать из них. Нужен учёт распечатанных файлов на принтере ! Сейчас делаю тупо список открытых файлов для печати, а отпечатались они или нет не знаю как сделать.
|
|
|
Ответов - 12
[только новые]
|
|
|
| Администратор
|
Пост N: 4064
Зарегистрирован: 23.05.05
|
|
Отправлено: 17.12.21 13:10. Заголовок: Вот пишут, как актив..
|
|
|
|
| |
Пост N: 7499
Зарегистрирован: 17.05.05
|
|
Отправлено: 17.12.21 13:31. Заголовок: Pasha Опередил :)..
Pasha Опередил :)
|
|
|
|
| постоянный участник
|
Пост N: 7180
Зарегистрирован: 12.09.06
|
|
Отправлено: 17.12.21 13:58. Заголовок: Не совсем то. Там вс..
Не совсем то. Там все события печати, вдобавок принтер могут переставить или админ уберёт эту галочку. Вариантов много, а мне потом разгребать не хочется. И категория - Печать документа вообще ни о чём не говорит. У меня юзера печатают допустим адрес и договор по нему, формируется документ с названием "Moskow,Kirova,d.22a,kv3.doc" Как узнать отпечатался он или нет ? Т.е. в принципе мне нужно просто знать, отправили ли документ в печать или нет. Была ли печать МОЕГО документа или нет ? А бумаги не было в принтере или другое событие, мне не интересно.
|
|
|
|
| Администратор
|
Пост N: 4065
Зарегистрирован: 23.05.05
|
|
Отправлено: 17.12.21 16:00. Заголовок: Не все хотелки можно..
Не все хотелки можно реализовать, иногда их приходится поумерить. Делать запись в лог при печати из программы как я понимаю проблему не составит. Насчет word/excel - можно перед показом их на экране, т.е. команды "Visible := .t.", выдавать через word/excel команду print с записью в лог Хочется показать документ word/excel юзеру - после печати показать его в режиме preview
|
|
|
|
| постоянный участник
|
Пост N: 7184
Зарегистрирован: 12.09.06
|
|
Отправлено: 18.12.21 16:59. Заголовок: Для C# какое то реше..
|
|
|
|
| |
Пост N: 7500
Зарегистрирован: 17.05.05
|
|
Отправлено: 18.12.21 17:13. Заголовок: Так там через WMI од..
Так там через WMI однако а он в Harbour доступен , бери и пробуй.
|
|
|
|
| Администратор
|
Пост N: 4066
Зарегистрирован: 23.05.05
|
|
Отправлено: 19.12.21 13:24. Заголовок: Андрей, как бы это т..
Андрей, как бы это тебе ничего не даст Там создается некий объект для нужного принтера, и в цикле его надо опрашивать пока не надоест Возвращаются события, связанные с принтером, но не указывается приложение, которое вызвало это событие, и что за событие Событие вроде такого: PRINTER_CHANGE_ADD_JOB: A print job was sent to the printer. Кто послал это задание на печать, что за задание - науке это неизвестно В журнале печати думаю информации для анализа будет куда больше. Я его конечно не смотрел, мне такая экзотика на нужна. Включи и посмотри, что там Насчет админа, который отрубит этот журнал: так его можно предупредить, чтобы не отрубал, если это так важно. Проблемы можно решать не только программными, но и административно-организационными методами
|
|
|
|
| постоянный участник
|
Пост N: 1624
Зарегистрирован: 27.01.07
|
|
Отправлено: 19.12.21 14:49. Заголовок: На мой взгляд, свои ..
На мой взгляд, свои логи - то, что нужно.
|
|
|
|
| |
Пост N: 1826
Зарегистрирован: 20.02.11
|
|
Отправлено: 19.12.21 16:01. Заголовок: Dima пишет: Так там..
Dima пишет: цитата: | Так там через WMI однако а он в Harbour доступен , бери и пробуй |
| Все верно Только анализировать надо win32_printjob. Подключается по wmi и в цикле мониторим очередь после запуска word/excel и до тех пор пока процесс word/excel выполняется . В очереди будет информация о пользователей, имени файла отправленного на печать , время постановки и другая дребедень. Смысл простой, прямые вызовы печати ловим сразу в лог, а запуск word/excel мониторим в очереди. Знаем же какой документ какой пользователь запустил, его и ищем в цикле. Если нашли, значит пользователь нажал кнопку print
|
|
|
|
| постоянный участник
|
Пост N: 7188
Зарегистрирован: 12.09.06
|
|
Отправлено: 19.12.21 17:50. Заголовок: Haz пишет: Только а..
Haz пишет: цитата: | Только анализировать надо win32_printjob. Подключается по wmi |
| Дай пожалуйста пример кода. Haz пишет: цитата: | и в цикле мониторим очередь после запуска word/excel и до тех пор пока процесс word/excel выполняется . |
| А слабенькие компы после такого не повиснут ? Какой период опроса мониторинга нужно ставить ? Кроме Ворда/Экселя использую Calc/Write + FastReport. Пока нужно отлавливать Ворд и FastReport
|
|
|
|
| |
Пост N: 1827
Зарегистрирован: 20.02.11
|
|
Отправлено: 19.12.21 18:34. Заголовок: Andrey пишет: Дай п..
Andrey пишет: цитата: | Дай пожалуйста пример кода. |
|
попробуй сам написать. Как с wmi работать примеры есть. PS. Опрашивать можно в потоке. PPS. Мне не до экспериментов сейчас
|
|
|
|
|
| |
Пост N: 7501
Зарегистрирован: 17.05.05
|
|
Отправлено: 19.12.21 18:37. Заголовок: Andrey пишет: Дай п..
|
|
|
|