在Windows上, 我的用户模式程序如何获得安装的视频卡的驱动程序版本号?

ATI的“催化剂控制中心”等计划可以向用户显示此信息或将其自动包含在错误报告中。他们是如何得到它的?

我一直在寻找PSDK文档,我找不到任何相关内容。

用户程序可以通过Device Manager显示的数据库走路吗?点击 是否有IOCTL调用,如获取磁盘驱动器几何?点击 它是否在(可靠的)注册表项中?

有帮助吗?

解决方案

在PowerShell中:

Get-WmiObject Win32_VideoController | format-table Name, Description,VideoProcessor,DriverVersion

WMI对象也可以从任何使用COM或.Net的语言中获得。

ETA:您可能希望排除没有VideoProcessor值的记录,例如Live Mesh驱动程序。我通过在格式化命令之前在管道中包含 | where {$ _. VideoProcessor -ne $ null} 来做到这一点。

其他提示

我使用了“dxdiag / x output.xml”,然后通过解析“output.xml”来获取视频驱动程序版本。 dxdiag很慢,但它告诉一个正确的驱动程序版本..

我使用python来完成这项工作。受Jason的回答启发,我得到以下代码:

>>> import wmi
>>> c = wmi.WMI()
>>> for device in c.Win32_VideoController():
    if device.VideoProcessor:
        print device.DriverVersion

我以前必须解决这个问题。我相信你实际上必须得到相关驱动文件的文件版本信息。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top