Войти

Показать полную графическую версию : Программное определение версии драйверов


RedScorpio
05-02-2019, 15:33
Добрый день

Подскажите, как программно определить версию драйвера, установленного в системе.

Iska
05-02-2019, 17:22
c++ get file version - Поиск в Google (https://www.google.com/search?q=c%2B%2B+get+file+version) Вас устроит?

RedScorpio
05-02-2019, 17:33
Возможно, я неправильно сформулировал. Нужна версия работающего драйвера (а не файла). К примеру, у на ПК работает некое устройство (например, на шине USB) и утилита должна знать версию его драйверов (чтобы использовать/не использовать какие-то функции)

RedScorpio
06-02-2019, 17:26
Сам спросил - сам отвечу.

Удобнее всего оказалось использовать реестр.
1. Определяем DriverKeyName (определяю его через DeviceIoControl)
2. Открываем реестр RegOpenKeyEx(HKEY_LOCAL_MACHINE, "SYSTEM\\ControlSet001\\Control\\Class\\<тут DriverKeyName>", ...)
3. Читаем RegQueryValueEx(RegKey, "DriverVersion", ...
4. Можно еще прочитать "DriverDate"
5. Закрываем RegCloseKey(RegKey)




© OSzone.net 2001-2012