我似乎无法找到返回打印机驱动程序名称的Windows API调用。请注意,我不是在谈论打印机文件夹中打印机的友好名称,我在谈论打印机属性时“高级”选项卡上显示的实际驱动程序名称:
Printer properties dialog http://img811.imageshack.us/img811/3443/printer.png
我正在尝试检测何时打印到“Generic / Text Only”驱动程序,而不管用户为打印机选择的名称。看起来这似乎不应该很难,但我无法在DEVMODE结构中找到它或者我想要寻找它的任何其他地方。
感谢您的帮助!
答案 0 :(得分:2)
您要查找的内容位于pDriverName
结构的PRINTER_INFO_2
字段中。
您可以使用EnumPrinters
获取,然后您必须对PRINTER_INFO_2::pPrinterName
和友好名称DEVMODE
进行比较。
答案 1 :(得分:0)
只是一个建议:使用procmon(来自sysinternals)监视所有API调用,并查看哪个调用返回此字符串。