2011-07-11 13 views
6

Estoy tratando de escribir una pequeña utilidad que habilitará/deshabilitará monitores en Windows 7 con mi tarjeta gráfica nVidia. (es decir, "Extienda el escritorio a este monitor", etc.)¿Habilitar/deshabilitar monitores múltiples a través de la API de Win32 o la API de NVidia?

La razón es que mi nVidia Geforce GTX 480 tiene tres salidas (2x DVI, 1x Mini-HDMI) pero solo permite que dos estén activas en un momento dado entonces necesito habilitar/deshabilitar monitores cuando quiero cambiar a la pantalla de mi TV (HDMI).

La función API de Win32 EnumDisplayDevices no funciona porque no muestra los monitores desactivados.

nVidia proporciona una API (NVAPI) y tiene funciones para enumerar todos los monitores (incluso los discapacitados) y se puede activar un monitor pero no se puede desactivar un monitor. (Me refiero a NvAPI_CreateDisplayFromUnAttachedDisplay)

UltraMon parece haber descubierto cómo hacerlo, pero no puedo encontrar ninguna información.

+1

¡Hola! ¿Has encontrado alguna solución? Estoy intentando hacer una aplicación similar para administrar el diseño de monitores desde un dispositivo Android de forma remota. – Alkersan

+1

si EnumDisplayDevice() no devuelve los monitores desactivados, las funciones SetupDi * deben darle los nombres de dispositivo necesarios, incluida la ID del dispositivo PNP – AcidJunkie

Respuesta

0

Creo que si 2 de las tres pantallas ya están conectadas, la tercera no será detectada. la tarjeta dejará de escuchar un nuevo hardware. tiene que sacar manualmente el cable, y luego insertar uno nuevo en un puerto diferente. a menos que haya una forma de "expulsar" la conexión, similar a un dispositivo de almacenamiento usb.

Cuestiones relacionadas