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

Вниз

Handle на все принтеры установленные в системе   Найти похожие ветки 

 
snoopy   (2007-10-14 02:03) [0]

Доброго времени суток!
Очень интересует, каким образом можно получить указатели (THandle) на все принтеры установленные в системе?

Для принтера, выбранного по умолчанию получаю так:

Printer.GetPrinter(Device, Driver, Port, hDeviceMode);

А как взять для остальных не доходит =\


 
Германн ©   (2007-10-14 02:12) [1]


> Очень интересует, каким образом можно получить указатели
> (THandle) на все принтеры установленные в системе?

А ты уверен что "рукоятки" есть всегда для всех установленных принтеров?
Зачем тебе хэндлы для "всех"? Их ведь может и "не быть реально". Даже ни одного!


 
snoopy   (2007-10-14 12:56) [2]

Для того, чтобы пройтись по всем принтерам и для каждого узнать список заданий через EnumJobs();
Ведь принтер может иметь задание, даже если он не выбран по умолчанию..значит и хэндл на него должен быть? Я не прав?

Кстати, опытным путем проверено, что если хотя бы один принтер установлен, хэндл на него ловится)

В принципе можно и без хэндлов, вот так:

for print_num := 0 to Printer.Printers.Count-1 do
Jobs := GetSpoolerJobs(Printer.Printers.Strings[print_cnt]);

но хочется через EnumJobs


 
Сергей М. ©   (2007-10-15 11:53) [3]


> хэндл на него должен быть?


Должен, если ты запросишь его у системы.

см. OpenPrinter



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

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

Наверх




Память: 0.47 MB
Время: 0.016 c
15-1210866837
тимохов
2008-05-15 19:53
2008.06.29
Посоветуйте что-нибудь по поводу сетевого странспорта


2-1212159887
programmer90
2008-05-30 19:04
2008.06.29
Одинаковое значение свойств у всех Edit-ов


15-1209724339
may be I am noob...
2008-05-02 14:32
2008.06.29
Свой сервер для входящей почты


3-1201080222
Sairex
2008-01-23 12:23
2008.06.29
Добавление картинки в БД (BDE)


3-1200635835
Anatoly Podgoretsky
2008-01-18 08:57
2008.06.29
Несколько LEFT JOIN в Акцесс