![]() |
|
Модераторы: feodorv, GremlinProg, xvr, Fixin |
![]()
|
|
| lusims |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 2 Регистрация: 5.2.2007 Репутация: нет Всего: нет |
Доброго времени суток
Столкнулся со следующей задачей: требуется перехватить момент передачи документа на печать (видимо момент его помещения в спул), а если быть точнее - количество страниц, которые посланы на печать. Если число страниц > определенного числа, печать следует отклонить. Изучение MSDN натолкнуло только на сообщений WM_SPOOLERSTATUS, но во-первых ОС не гарантирует его посылку, а во-вторых все равно это не решит проблему отклонения печати. Пока как вариант я вижу только написание заглушки для драйвера принтера, но чессказать, я почти полный NULL в этом деле и хотелось бы какой-то более высокоуровневый вариант получить Что посоветуете почитать или может сразу намекнете куда рыть? Заранее спасибо |
|||
|
||||
| DronG |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 3 Регистрация: 1.2.2007 Репутация: нет Всего: нет |
Первый вариант это использование стандартых функций GDI FindFirstPrinterChangeNotification, FindNextPrinterChangeNotification и др.
Второй вариант это использование WMI event notification, например о создании экземпляра класса Win32_PrintJob. Информация по первому и второму вариантам доступна в MSDN |
|||
|
||||
| lusims |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 2 Регистрация: 5.2.2007 Репутация: нет Всего: нет |
DronG, спасибо
Решил воспользоваться этим вариантом, у меня нормально получается перехватывать события, но как осуществить блокировку печати? Возможно ли это при использовании этого способа? |
|||
|
||||
| DronG |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 3 Регистрация: 1.2.2007 Репутация: нет Всего: нет |
C блокировкой этим способом гарантий нет, если учесть печать на реальный принтер которая происходит относительно не мгновенно, то можно успеть отменить задание печати в обработчике события создания задания.
|
|||
|
||||
![]()
|
| Правила форума "C/C++: Системное программирование и WinAPI" | |
|
|
На данный раздел распространяются Правила форума и Правила раздела С++:Общие вопросы . Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Chipset, Step, Fixin, GremlinProg, xvr. feodorv. |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | C/C++: Системное программирование и WinAPI | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |