Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2008.03.23;
Скачать: CL | DM;

Вниз

Включение принтера   Найти похожие ветки 

 
Alex8   (2008-02-25 16:34) [0]

Уважаемые мастера.
Подскажите, пожалуйста, как програмным путем
определить включен принтер или нет, c тем, чтобы
при необходимости выдать пользователю напоминание
"Включи принтер".  Спасибо.


 
KilkennyCat ©   (2008-02-25 17:37) [1]

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


 
Alex8   (2008-02-25 17:49) [2]

Вообще-то, идея. Если принтер выключен, то путем TRY-Extpt обработать
исключение. А если-включен, то пусть печатает ?
 А какой-нибудь функции нет?


 
KilkennyCat ©   (2008-02-25 18:46) [3]

Можно послать только управляющи символы. Или запросить параметры. Тогда печати не будет, а ошибка для обработки - вполне.


 
KilkennyCat ©   (2008-02-25 18:50) [4]

http://sources.ru/delphi/system/jobs_information_from_printer_spooler.shtml


 
Dimaxx ©   (2008-02-25 21:25) [5]

VCL-модуль Printers, TPrinter.Printers.Count. Равно 0 - нет принтеров.


 
Dimaxx ©   (2008-02-25 21:26) [6]

Тьфу, не так прочитал...


 
Alex8   (2008-02-26 12:08) [7]

Неожиданный (для меня) факт.
Идея о посылке на принтер пробной фразы не проходит, т.к.
при отключенном принтере исключение не формируется.
Программа просто проскакивает оператор печати, как
пустую строку.

 А что касается ссылки на
> http://sources.ru/delphi/system/jobs_information_from_printer_spooler.
то там речь идет о функции GetSpoolerJob(), определяющей
задания принтеру, а не его состояние.
 Мне кажется, что должна существовать функция (метод, процедура),
выдающая информацию о текущем состоянии принтера.
А вот какая ?


 
Alarm ©   (2008-02-26 13:26) [8]

WinSpool.OpenPrinter ?


 
Thrasher ©   (2008-02-26 14:45) [9]

Printer.GetPrinter?


 
Alex8   (2008-02-27 08:00) [10]

> WinSpool.OpenPrinter ?
> Printer.GetPrinter?

  Прошу прощения за свою темноту, но я не
смог разобраться с приведенными рекомендациями.
Хорошо бы привести пример их использования.
Спасибо.


 
noname   (2008-02-27 11:09) [11]

...
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 13:03) [12]

Все получилось. Спасибо.
 Правда пришлось проинтуичить и добавить в
Uses модуль WinSpool. Да с моим бледным английским
отыскать функцию OpenPrinter в Help Windows SDK
смог только с такой подробной подсказкой.
Еще раз, большое спасибо.



Страницы: 1 вся ветка

Текущий архив: 2008.03.23;
Скачать: CL | DM;

Наверх




Память: 0.49 MB
Время: 0.013 c
2-1204033951
AlexeyMir
2008-02-26 16:52
2008.03.23
Как обозвать компонент созданный в процессе выполнения программы


2-1203790163
hex
2008-02-23 21:09
2008.03.23
Скрыть консольное приложение


2-1203522656
Answer_i3
2008-02-20 18:50
2008.03.23
Записать в exe файл слово


2-1203513538
..::KraN::..
2008-02-20 16:18
2008.03.23
Вставка картинки в Synedit


2-1203579448
Quart
2008-02-21 10:37
2008.03.23
QRLabel