Question

Sous Windows, Comment mon programme en mode utilisateur peut-il obtenir le numéro de version du pilote de la ou des cartes vidéo installées?

Programmes tels que "Catalyst Control Center" d’ATI peut afficher ces informations à l'utilisateur ou les inclure automatiquement dans les rapports de bogues. Comment l'obtiennent-ils?

J'ai consulté la documentation du PSDK et je ne trouve rien de pertinent.

Un programme utilisateur peut-il parcourir la base de données affichée par le Gestionnaire de périphériques?
Existe-t-il un appel IOCTL comme obtenir la géométrie d'un disque?
Est-ce dans une clé de registre (fiable)?

Était-ce utile?

La solution

Dans PowerShell:

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

Les objets WMI sont également disponibles dans toutes les langues qui parlent COM ou .Net.

ETA: vous pouvez souhaiter exclure des enregistrements sans valeur pour VideoProcessor, comme les pilotes Live Mesh. Je l'ai fait en incluant | where {$ _. VideoProcessor -ne $ null} dans le pipeline avant la commande de format.

Autres conseils

J'ai utilisé "dxdiag / x output.xml", puis la version du pilote vidéo en analysant "output.xml". dxdiag est lent, mais il indique la version du pilote correcte ..

J'ai utilisé python pour faire ce travail. Inspiré par la réponse de Jason, je reçois le code suivant:

>>> import wmi
>>> c = wmi.WMI()
>>> for device in c.Win32_VideoController():
    if device.VideoProcessor:
        print device.DriverVersion

J'ai déjà eu à résoudre ce problème. Je pense que vous devez réellement obtenir les informations de version de fichier du fichier de pilote associé.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top