2012-04-15 9 views
6

I necesidad de detectar en el código (C++) cómo la tarjeta gráfica está conectada al monitor/s, es decir, VGA o DVI etc.Obtener el tipo de conexión de GPU en Windows XP?

encontré dos maneras que podía hacer esto:

  • por consultar el Instrumental de administración de Windows para D3DKMDT_VIDEO_OUTPUT_TECHNOLOGY o
  • utilizando los NvAPI_DISP_GetMonitorCapabilities función de la API de nVidia,

pero ambos de estos sólo son compatibles con Windows Vista o superior.

Seguramente hay una forma de hacer esto en XP, pero después de mucho buscar, simplemente no puedo encontrar uno y es cada vez más urgente encontrar una manera.

¿Alguna idea?

+0

_Debe haber una manera de hacerlo en XP_ ¿Hay alguna? Me parece plausible que no exista. – DrPizza

+0

A juzgar por la cantidad de atención que ha recibido esta pregunta, tiendo a estar de acuerdo, me parece bastante extraño que esas 2 funciones se presenten en Vista en adelante a menos que haya necesidad de ellas. Entonces, si hubiera una necesidad real, pensarían que se cumpliría cuando saliera XP. –

+1

Tengo curiosidad por saber por qué quieres saber, sin embargo. No parece en absoluto útil. Saber si la conexión es compatible con HDCP podría tener algún valor, pero eso es independiente de la interfaz real que se utiliza. – DrPizza

Respuesta

1

Posiblemente puede utilizar EnumDisplayDevices (link to MSDN) y analizar algunas informaciones como se describe here. Básicamente se trata de hacer coincidir las pantallas físicas con las lógicas.

+0

Hola macs, Gracias por la respuesta. Disculpe si no fui lo suficientemente claro con mi pregunta, pero lo que quiero es no saber a qué puerto de la tarjeta gráfica está conectado un monitor, sino específicamente a qué tipo de puerto de la tarjeta gráfica está conectado el monitor, como la pieza de El software en el que estoy trabajando necesita ejecutarse en muchas tarjetas gráficas diferentes que pueden tener salida vga, dvi o hdmi. ¿Es posible obtener esta información de DISPLAY_DEVICE struct también? Gracias. –

+1

Yo diría que esto es posible, solo tienes que identificar el tipo de puerto, que también debería ser posible (pero en este momento no sé cómo, quizás Google te ayude). –

Cuestiones relacionadas