Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Delphi: Общие вопросы > Как отловить завершение печати на принтере?


Автор: Данкинг 24.4.2009, 22:11
Документ послан на печать, затем он печатается, затем он напечатан. Как узнать, что печать данного документы окончена?

Автор: Лапоть 25.4.2009, 18:40
Встречал этот вопрос неединожды. Ответа не видел нигде. Из собственного опыта пришёл к выводу, что НИКАК. И вот почему - сам, из своей программы, посылаю данные на печать (не текст, печать рисунка) и закрываю программу. Печать-то всё равно происходит... Хотя где-то в недрах Винды это всё отслеживается, очередь печати и состояние принтера ещё никто не отменил, но как это дело можно анализировать? Какими средствами? (Сам себе противоречу smile )

Автор: Данкинг 25.4.2009, 18:43
Цитата(Лапоть @  25.4.2009,  19:40 Найти цитируемый пост)
и закрываю программу. Печать-то всё равно происходит... 

Если программу закрыть - то всё понятно, конечно. smile Самый идиотский способ - может, как-нибудь значок принтера в трее отслеживать? smile 

Автор: Лапоть 25.4.2009, 20:16
Цитата(Данкинг @  25.4.2009,  19:43 Найти цитируемый пост)
Самый идиотский способ - может, как-нибудь значок принтера в трее отслеживать?
Так ведь где-то в недрах системы текущее состояние принтера известно! Только вот в каком месте оно лежит? smile  

Автор: Keeper89 25.4.2009, 20:41
Цитата(Лапоть @  25.4.2009,  20:16 Найти цитируемый пост)
Так ведь где-то в недрах системы текущее состояние принтера известно

+1, можно попытаться определить состояние принтера - вот, посмотрите примерчик здесь:http://www.delphisources.ru/pages/faq/base/get_printer_tasks.html.

Автор: Данкинг 25.4.2009, 21:13
Да, видимо, надо этот пример разобрать и отловить не "JOB_STATUS_PRINTING". 

Автор: Лапоть 25.4.2009, 21:36
Keeper89, спасибо! smile 

Автор: Keeper89 26.4.2009, 01:12
Пожалуйста! smile 

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)