在Windows上, 我的用户模式程序如何获得安装的视频卡的驱动程序版本号?
ATI的“Catalyst Control Center”等程序可以向用户显示此信息,也可以将其自动包含在错误报告中。他们是如何得到它的?
我一直在寻找PSDK文档,我找不到任何相关内容。
用户程序可以通过Device Manager显示的数据库走路吗?
是否有IOCTL调用,如获取磁盘驱动器几何?
它是否在(可靠的)注册表项中?
答案 0 :(得分:7)
在PowerShell中:
Get-WmiObject Win32_VideoController | format-table Name, Description,VideoProcessor,DriverVersion
WMI对象也可以从任何使用COM或.Net的语言中获得。
ETA:您可能希望排除没有VideoProcessor值的记录,例如Live Mesh驱动程序。我通过在格式化命令之前在管道中包含|where {$_.VideoProcessor -ne $null }
来做到这一点。
答案 1 :(得分:1)
我使用“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
答案 2 :(得分:0)
我以前必须解决这个问题。我相信你实际上必须得到相关驱动文件的文件版本信息。