Форум программистов «Весельчак У»
  *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Вам не пришло письмо с кодом активации?

  • Рекомендуем проверить настройки временной зоны в вашем профиле (страница "Внешний вид форума", пункт "Часовой пояс:").
  • У нас больше нет рассылок. Если вам приходят письма от наших бывших рассылок mail.ru и subscribe.ru, то знайте, что это не мы рассылаем.
   Начало  
Наши сайты
Помощь Поиск Календарь Почта Войти Регистрация  
 
Страниц: [1]   Вниз
  Печать  
Автор Тема: Хук на сообщения принетеру  (Прочитано 8398 раз)
0 Пользователей и 1 Гость смотрят эту тему.
Aveic
Постоялец

ru
Offline Offline
Пол: Мужской
Yellow


« : 06-04-2008 16:39 » 

Подскажите, пожалуйста в каком направлении рыть. в общем задача: нужно написать программку, которая будет вести статистику напечатанных принтером за день страниц (заносить эту инфу допустим в реестр). Также есть ли возможность узнать, на фото- или обычную бумагу идет печать. Какие сообщение перехватывать необходимо для этого? И как примерно это сделать? OS: WinXp. Допустим заранее известно какое приложение будет вести печать. Перехватывать сообщения WM_PRINT идущие к этому окну? А если будут печатать из разных прог? От всех окон перехватывать? Заранее, спс.
« Последнее редактирование: 06-04-2008 16:43 от Aveic » Записан
Sla
Команда клуба

ua
Offline Offline
Пол: Мужской

WWW
« Ответ #1 : 06-04-2008 19:15 » 

принтер?
если есть сетевой интерфейс смотреть в сторону syslogd
Принтер о типе бумаги не знает, наверное.
но многое зависит от типа принтера.
Записан

Мы все учились понемногу... Чему-нибудь и как-нибудь.
Aveic
Постоялец

ru
Offline Offline
Пол: Мужской
Yellow


« Ответ #2 : 07-04-2008 20:15 » 

сетевого нет интерфейса )
Записан
zubr
Гость
« Ответ #3 : 08-04-2008 04:10 » 

Сообщение WM_PRINT - это несколько не то. Тут мне видится 2 пути:
1. Делать свой драйвер-фильтр LPT-порта (если принтер к LPT подключен)
2. На прикладном уровне или в режиме ядра перехватывать API-функции StartDoc, EndDoc, StartPage, EndPage.
Записан
Aveic
Постоялец

ru
Offline Offline
Пол: Мужской
Yellow


« Ответ #4 : 09-04-2008 09:35 » 

Свой драйвер я не шарю как писать Жаль Но вот про перехват нашел инфу вот тут rsdn.ru / article / baseserv / IntercetionAPI.xml
Пока не особо разобрался. Там в первом способе надо в конце встроить свой DLL в чужое приложение. А как это примерно сделать?
Записан
zubr
Гость
« Ответ #5 : 09-04-2008 09:49 » 

Там в первом способе надо в конце встроить свой DLL в чужое приложение. А как это примерно сделать?
Ставится хук на WH_GETMESSAGE или WH_CBT функцией SetWindowsHookEx (ключевое слово для поиска), тогда dll подгружается в любое оконное приложение. Поищи на codeproject, думаю найдешь готовые примеры реализации.
Записан
Страниц: [1]   Вверх
  Печать  
 

Powered by SMF 1.1.21 | SMF © 2015, Simple Machines