Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Включение принтера [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]

Послать что-нить на печать.


Наверх

Титульная страница Поиск, карта сайта Написать письмо