![]() |
Модераторы: Snowy, bartram, MetalFan, bems, Poseidon, Riply |
![]() ![]() ![]() |
|
bartram |
|
|||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 1606 Регистрация: 22.2.2004 Где: Russia, Samara Репутация: 3 Всего: 29 |
Сабж! Мне надо сделать так чтобы всё что печаталось на принтере помимо этого записывалось ещё и в tif файл, это возможно?
Это сообщение отредактировал(а) bartram - 25.2.2005, 21:01 |
|||
|
||||
Александра |
|
|||
![]() Бывалый ![]() Профиль Группа: Участник Сообщений: 219 Регистрация: 20.2.2005 Где: Москва Репутация: 1 Всего: 12 |
возможно, но это довольно сложный процесс. большая программа.
необходимо встраиваться в процесс печати и перехватывать данные, когда они скидываются на хард. Это сообщение отредактировал(а) Александра - 26.2.2005, 00:58 --------------------
|
|||
|
||||
bartram |
|
|||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 1606 Регистрация: 22.2.2004 Где: Russia, Samara Репутация: 3 Всего: 29 |
Я знаю что сложный, был бы лёгкий я б не спрашивал. Поэтому меня и интересует вопрос, как? |
|||
|
||||
<Spawn> |
|
|||
![]() Око кары:) ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 2776 Регистрация: 29.1.2003 Где: Екатеринбург Репутация: 1 Всего: 64 |
Если знаешь Си, то иди на rsdn.ru и ищи темки перехвата вызова API, после осмысления которых, ты должен будешь внедриться в целевой процесс и подменить вызов системных функций печати на свои(например, путем подправки таблицы импорта), где сможешь делать с данными что хочешь(главное потом не забыть вызвать реальную функцию
![]() -------------------- "Для некоторых людей программирование является такой же внутренней потребностью, подобно тому, как коровы дают молоко, или писатели стремятся писать" - Николай Безруков. |
|||
|
||||
bartram |
|
|||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 1606 Регистрация: 22.2.2004 Где: Russia, Samara Репутация: 3 Всего: 29 |
Спасибо <Spawn> но я к сожелению. не знаю Си |
|||
|
||||
Александра |
|
|||
![]() Бывалый ![]() Профиль Группа: Участник Сообщений: 219 Регистрация: 20.2.2005 Где: Москва Репутация: 1 Всего: 12 |
слишком сложный способ! можно попроше сделать, хотя кто-как...
1. обработчик печати переключи на какой-нить режим EMF. Обычно по умолчанию RAW включен. 2. используй при печати "Очередь печати", а не Печать прямо на принтер 3. отлавиливай в системе сообшение WM_SPOOLERSTATUS (оно возникает когда в очередь печати добавляется/удаляется задание) 4. далее в папке спулера следи за появлением специальных служебных файлов. формат их не известен (хотя логика прослеживается), в них есть список на временные файлы, которые как раз и есть то, что сейчас печатается. один файл - одна страница. формат их служебная информация и EMF блоки. под Win9x/ME просто EMF файлы 5. обратись ко мне, у меня уже есть готовый написанный шпион для этого дела ;) --------------------
|
|||
|
||||
bartram |
|
|||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 1606 Регистрация: 22.2.2004 Где: Russia, Samara Репутация: 3 Всего: 29 |
Обращаюсь ![]() |
|||
|
||||
Albinos_x |
|
|||
![]() Evil Skynet ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 3288 Регистрация: 28.5.2004 Где: X-6120400 Y-1 4624650 Репутация: 3 Всего: 108 |
в ХР мне почему-то не удавалось словить это сообщение, проблема так и не нашла решения... В других ОС не пробовал. -------------------- "Кто владеет информацией, тот владеет миром" Уинстон Черчилль |
|||
|
||||
Cashey |
|
|||
![]() Бессмертный ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 3441 Регистрация: 13.11.2002 Где: в столице Репутация: нет Всего: 60 |
WM_SPOOLERSTATUS отсутствует во всех операционных системах с ядром NT (в том числе в 2000 и XP). Вместо обработки этого сообщения следует использовать функции FindFirstPrinterChangeNotification и FindNextPrinterChangeNotification -------------------- библия учит любить ближнего, а камасутра обучает как именно |
|||
|
||||
![]() ![]() ![]() |
Правила форума "Delphi: WinAPI и системное программирование" | |
|
Запрещено: 1. Публиковать ссылки на вскрытые компоненты 2. Обсуждать взлом компонентов и делиться вскрытыми компонентами
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Snowy, bartram, MetalFan, bems, Poseidon, Rrader, Riply. |
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей) | |
0 Пользователей: | |
« Предыдущая тема | Delphi: WinAPI и системное программирование | Следующая тема » |
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |