Форум: "WinAPI";
Текущий архив: 2008.06.29;
Скачать: [xml.tar.bz2];
Вниз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 вся ветка
Форум: "WinAPI";
Текущий архив: 2008.06.29;
Скачать: [xml.tar.bz2];
Память: 0.44 MB
Время: 0.037 c