我似乎找不到返回打印机驱动程序名称的Windows API调用。请注意,我不是在谈论打印机文件夹中打印机的友好名称,我是在谈论当您查看打印机属性时所使用的实际驱动程序的名称,如“高级”选项卡上所示:
Printer properties dialog http://img811.imageshack.us/img811/3443/printer.png
无论用户为打印机选择什么名称,我都会尝试检测何时打印到“通用/纯文本”驱动程序。这看起来并不难,但我在DEVMODE结构或任何我想要寻找它的地方都找不到它。
谢谢你的帮助!
发布于 2010-06-15 16:21:13
您要查找的内容位于PRINTER_INFO_2结构的pDriverName字段中。
您可以使用EnumPrinters获取它,然后您必须对PRINTER_INFO_2::pPrinterName和DEVMODE的友好名称进行比较。
发布于 2010-06-15 14:16:15
只需要一个建议:使用procmon (来自sysinternals)监视所有API调用,并查看哪个调用返回此字符串。
https://stackoverflow.com/questions/3042897
复制相似问题