У меня есть восемь разных принтеров, установленных на компьютере под управлением Windows 8.1. Эти принтеры - это различные производители и модели, есть два принтера HP LaserJet, струйный принтер Epson, CutePDF Writer, принтер для факса Windows и другие.Как получить производителя и модель принтера от Win32 API?
Для всех моих принтеров этот вызов DeviceCapabilities возвращает -1, что означает «либо, что функция не поддерживается, либо произошел сбой общей функции». Другие fwCapability
значения, такие как DC_DUPLEX
, успешный.
DeviceCapabilities(pDevice, pPort, DC_MANUFACTURER, NULL, &devMode);
Я думаю, что DC_MANUFACTURER
и DC_MODEL
являются «новыми» и поэтому неосуществленными. CUPS имеет атрибут printer-make-and-model
, необходимые параметры PPD Manufacturer
и Model
.
Каков правильный способ запроса производителя и модели принтера с Win32?
Вам конкретно нужны марка и модель, или с вами все в порядке с извлечением той же строки, которую использует диспетчер печати для идентификации принтера? –
Я возьму любую строку, которая идентифицирует, даже грубо говоря, тип принтера. Что ты предлагаешь? –
'EnumPrinters()' позволяет вам перечислять принтеры и получать информацию о них, включая их имя. Это то, что вы ищете? –