C++ 如何获取显示设备的驱动程序版本?

C++ 如何获取显示设备的驱动程序版本?,c++,windows,winapi,mfc,C++,Windows,Winapi,Mfc,我们如何通过编程获得显示设备的驱动程序版本? 我们可以通过运行命令“DxDiag”获取显示设备的信息,包括(1)卡名:NVIDIA GeForce GTX745;(2) 制造商:(3)NVIDIA,以及驾驶员姓名;(4) 驱动程序文件版本:23.21.13.9077(23.21.13.9077的数字正是我们想要的) 程序需要告知显示设备的最小驱动程序版本号,以防程序崩溃。此驱动程序版本导致程序崩溃。在这里,我想提示用户升级驱动程序版本,以防程序崩溃 编辑: 实际上,显示设备的驱动程序版本与Ope

我们如何通过编程获得显示设备的驱动程序版本? 我们可以通过运行命令“DxDiag”获取显示设备的信息,包括(1)卡名:NVIDIA GeForce GTX745;(2) 制造商:(3)NVIDIA,以及驾驶员姓名;(4) 驱动程序文件版本:23.21.13.9077(23.21.13.9077的数字正是我们想要的)

程序需要告知显示设备的最小驱动程序版本号,以防程序崩溃。此驱动程序版本导致程序崩溃。在这里,我想提示用户升级驱动程序版本,以防程序崩溃

编辑: 实际上,显示设备的驱动程序版本与OpenGL版本不同(可以使用glGetString(GL_版本)检索OpenGL版本)

如果您有进一步的兴趣,请在此详细描述问题

任何帮助都是非常感谢的

如何获取显示设备的驱动程序版本

我相信,可以使用
setupapi.h

另请参见此子页:

另请参见此答案,它与您如何“导航”API有一定关系:


您可能想看看这个:您也可以尝试生成OpenGL上下文并询问驱动程序版本,或者直接使用带有
GUID\u Device interface\u DISPLAY\u ADAPTER的
CM\u Get\u Device\u interface\u interface\u List
查询接口询问驱动程序,而不是通过
CM\u get\u device\u interface\u Property
DEVPKEY\u device\u InstanceId
+
CM\u Locate\u DevNode
从接口获取设备id。然后通过
CM\u Get\u devnode\u属性
对devnode进行多次查询。对于
DEVPKEY\u设备驱动服务器版本
DEVPKEY\u设备驱动服务器版本
DEVPKEY\u设备制造商
,。。。