Pregunta

En Windows, ¿Cómo puede mi programa de modo de usuario obtener los números de versión del controlador para las tarjetas de video instaladas?

Programas como el "Centro de control de catalizador" de ATI puede mostrar esta información al usuario o incluirla automáticamente en los informes de errores. ¿Cómo lo consiguen?

He estado revisando la documentación de PSDK y no encuentro nada relevante.

¿Puede un programa de usuario recorrer la base de datos que muestra el Administrador de dispositivos?
¿Hay una llamada IOCTL como obtener la geometría de la unidad de disco?
¿Está en una clave de registro (confiable)?

¿Fue útil?

Solución

En PowerShell:

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

Los objetos WMI también están disponibles desde cualquier idioma que hable COM o .Net.

ETA: es posible que desee excluir registros sin un valor para VideoProcessor, como los controladores Live Mesh. Lo hice incluyendo | where {$ _. VideoProcessor -ne $ null} en la tubería antes del comando de formato.

Otros consejos

Usé '' dxdiag / x output.xml '', luego obtuve la versión del controlador de video analizando '' output.xml ''. dxdiag es lento, pero indica la versión correcta del controlador ...

Usé python para hacer este trabajo. Inspirado por la respuesta de Jason, obtengo el siguiente código:

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

He tenido que resolver este problema antes. Creo que realmente debe obtener la información de la Versión del archivo del archivo del controlador asociado.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top