Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/redis/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C++ C++;:有没有办法通过编程检查我的打印机是喷墨打印机还是激光打印机?_C++_Winapi_Visual C++ 2008 - Fatal编程技术网

C++ C++;:有没有办法通过编程检查我的打印机是喷墨打印机还是激光打印机?

C++ C++;:有没有办法通过编程检查我的打印机是喷墨打印机还是激光打印机?,c++,winapi,visual-c++-2008,C++,Winapi,Visual C++ 2008,我正在编写一个程序来显示连接到系统的打印机类型及其其他详细信息,但我似乎找不到任何函数、方法或类来提供打印机类型的详细信息(即:如果是喷墨打印机或激光打印机)。任何关于如何做的建议都将不胜感激。谢谢。请查看MS SDK API,并查看pPrinter和其他类似的API,网址为,因此,就我的研究而言,没有明确的方法可以做到这一点。这不起作用,因为打印机驱动程序没有按照@Drake Wu-MSTF所述返回这些值。所以我决定建立一个我所需要的信息数据库并使用它 你看过Windows打印机API了吗?这

我正在编写一个程序来显示连接到系统的打印机类型及其其他详细信息,但我似乎找不到任何函数、方法或类来提供打印机类型的详细信息(即:如果是喷墨打印机或激光打印机)。任何关于如何做的建议都将不胜感激。谢谢。

请查看MS SDK API,并查看
pPrinter
和其他类似的API,网址为

,因此,就我的研究而言,没有明确的方法可以做到这一点。这不起作用,因为打印机驱动程序没有按照@Drake Wu-MSTF所述返回这些值。所以我决定建立一个我所需要的信息数据库并使用它

你看过Windows打印机API了吗?这类信息是通过WMI公开的,您想查询。我可以在标记技术下的Win32_Printer类中找到它,但当我运行WMIC命令检查它时,它没有显示任何值。我使用的命令是“wmic打印机获取标记技术,名称”。可能是打印机安装的设备驱动程序不支持返回这些信息。是否有打印机的驱动程序支持这些返回值?GetPrinter可以返回9种不同的数据结构。其中哪一个包含打印机类型?已经提到了“pPrinter”,它需要更多的调试,我以前做过,但没有现成的代码。@mkag“pPrinter”不是打印机spool API中的结构。你知道哪些结构包含我从PRINTER_INFO_1-PRINTER_INFO_9中查找的信息吗?我还从一些PRINTER_INFO_中提取了它?结构,但无法调用代码。