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)?

È stato utile?

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.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top