查找打印机驱动程序名称

时间:2010-06-15 06:10:23

标签: windows api winapi printing

我似乎无法找到返回打印机驱动程序名称的Windows API调用。请注意,我不是在谈论打印机文件夹中打印机的友好名称,我在谈论打印机属性时“高级”选项卡上显示的实际驱动程序名称:

Printer properties dialog http://img811.imageshack.us/img811/3443/printer.png

我正在尝试检测何时打印到“Generic / Text Only”驱动程序,而不管用户为打印机选择的名称。看起来这似乎不应该很难,但我无法在DEVMODE结构中找到它或者我想要寻找它的任何其他地方。

感谢您的帮助!

2 个答案:

答案 0 :(得分:2)

您要查找的内容位于pDriverName结构的PRINTER_INFO_2字段中。

您可以使用EnumPrinters获取,然后您必须对PRINTER_INFO_2::pPrinterName和友好名称DEVMODE进行比较。

答案 1 :(得分:0)

只是一个建议:使用procmon(来自sysinternals)监视所有API调用,并查看哪个调用返回此字符串。