![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Включение принтера [D7, XP]
Alex8 © (2008-02-25 16:34:00)Уважаемые мастера.
Подскажите, пожалуйста, как програмным путем
определить включен принтер или нет, c тем, чтобы
при необходимости выдать пользователю напоминание
"Включи принтер". Спасибо.
Alex8 (2008-02-27 13:03:00) [1]Все получилось. Спасибо.
Правда пришлось проинтуичить и добавить в
Uses модуль WinSpool. Да с моим бледным английским
отыскать функцию OpenPrinter в Help Windows SDK
смог только с такой подробной подсказкой.
Еще раз, большое спасибо.
noname (2008-02-27 11:09:00) [2]...
hPrinter : THandle;
bResult : Boolean;
sPrinterName : String
...
bResult := OpenPrinter(PChar(sPrinterName), hPrinter, Nil);
if NOT bResult then begin
ShowMessage('Error opening the printer');
exit;
end;
Alex8 (2008-02-27 08:00:00) [3]> WinSpool.OpenPrinter ?
> Printer.GetPrinter?
Прошу прощения за свою темноту, но я не
смог разобраться с приведенными рекомендациями.
Хорошо бы привести пример их использования.
Спасибо.
Thrasher (2008-02-26 14:45:00) [4]Printer.GetPrinter?
Alarm (2008-02-26 13:26:00) [5]WinSpool.OpenPrinter ?
Alex8 (2008-02-26 12:08:00) [6]Неожиданный (для меня) факт.
Идея о посылке на принтер пробной фразы не проходит, т.к.
при отключенном принтере исключение не формируется.
Программа просто проскакивает оператор печати, как
пустую строку.
А что касается ссылки на
> http://sources.ru/delphi/system/jobs_information_from_printer_spooler.
то там речь идет о функции GetSpoolerJob(), определяющей
задания принтеру, а не его состояние.
Мне кажется, что должна существовать функция (метод, процедура),
выдающая информацию о текущем состоянии принтера.
А вот какая ?
Dimaxx (2008-02-25 21:26:00) [7]Тьфу, не так прочитал...
Dimaxx (2008-02-25 21:25:00) [8]VCL-модуль Printers, TPrinter.Printers.Count. Равно 0 - нет принтеров.
KilkennyCat (2008-02-25 18:50:00) [9]http://sources.ru/delphi/system/jobs_information_from_printer_spooler.shtml
KilkennyCat (2008-02-25 18:46:00) [10]Можно послать только управляющи символы. Или запросить параметры. Тогда печати не будет, а ошибка для обработки - вполне.
Alex8 (2008-02-25 17:49:00) [11]Вообще-то, идея. Если принтер выключен, то путем TRY-Extpt обработать
исключение. А если-включен, то пусть печатает ?
А какой-нибудь функции нет?
KilkennyCat (2008-02-25 17:37:00) [12]Послать что-нить на печать.