Come si ottiene la versione dei driver video di Windows?
-
03-07-2019 - |
Domanda
Su Windows, come può il mio programma in modalità utente ottenere i numeri di versione del driver per le schede video installate?
Programmi come ATI's "Catalyst Control Center" può visualizzare queste informazioni all'utente o includerle automaticamente nelle segnalazioni di bug. Come lo ottengono?
Ho consultato la documentazione PSDK e non trovo nulla di rilevante.
Un programma utente può attraversare il database visualizzato da Gestione dispositivi?
Esiste una chiamata IOCTL come ottenere la geometria dell'unità disco?
È in una chiave di registro (affidabile)?
Soluzione
In PowerShell:
Get-WmiObject Win32_VideoController | format-table Name, Description,VideoProcessor,DriverVersion
Gli oggetti WMI sono disponibili anche in qualsiasi lingua che parla COM o .Net.
ETA: potresti voler escludere i record senza un valore per VideoProcessor, come i driver di Live Mesh. L'ho fatto includendo | dove {$ _. VideoProcessor -ne $ null}
nella pipeline prima del comando di formattazione.
Altri suggerimenti
Ho usato " dxdiag / x output.xml " ;, quindi ho ottenuto la versione del driver video analizzando " output.xml " ;. dxdiag è lento, ma indica la versione del driver corretta ..
Ho usato Python per fare questo lavoro. Ispirato dalla risposta di Jason, ottengo il seguente codice:
>>> import wmi
>>> c = wmi.WMI()
>>> for device in c.Win32_VideoController():
if device.VideoProcessor:
print device.DriverVersion
Ho dovuto risolvere questo problema prima. Credo che tu debba effettivamente ottenere le informazioni sulla versione del file del driver associato.