Как вы получаете версию видео драйвера (ов) для Windows? - PullRequest
3 голосов
/ 01 января 2009

в Windows, как моя программа пользовательского режима может получить номера версий драйверов для установленной видеокарты?

Такие программы, как ATI "Catalyst Control Center", могут отображать эту информацию для пользователя или автоматически включать ее в отчеты об ошибках. Как они это получают?

Я просматривал документацию PSDK и не могу найти ничего подходящего.

Может ли пользовательская программа пройти через базу данных, отображаемую диспетчером устройств?
Есть ли вызов IOCTL, например, получение геометрии дисковода?
Это в (надежном) ключе реестра?

Ответы [ 3 ]

7 голосов
/ 01 января 2009

В PowerShell:

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

Объекты WMI также доступны на любом языке, который говорит на COM или .Net.

ETA: Вы можете исключить записи без значения для VideoProcessor, например, драйверы Live Mesh. Я сделал это, включив |where {$_.VideoProcessor -ne $null } в конвейер перед командой форматирования.

1 голос
/ 20 августа 2010

Я использовал «dxdiag / x output.xml», затем получил версию видеодрайвера, проанализировав «output.xml». dxdiag работает медленно, но сообщает единственную правильную версию драйвера ..

Я использовал python для этой работы. Вдохновленный ответом Джейсона, я получаю следующий код:

>>> import wmi
>>> c = wmi.WMI()
>>> for device in c.Win32_VideoController():
    if device.VideoProcessor:
        print device.DriverVersion
0 голосов
/ 01 января 2009

Я должен был решить эту проблему раньше. Я полагаю, что вам действительно нужно получить информацию о версии файла соответствующего файла драйвера.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...