Estoy trabajando en una aplicación para mi teléfono que automatizará muchos aspectos de la computadora de mi hogar. Uno de esos aspectos es cambiar entre un work
entorno y un home
entorno. El cambio entre los dos consiste principalmente en cambiar la configuración del monitor (pero también la salida de sonido, si es posible).
Tengo tres monitores conectados a mi máquina y en mi work
entorno quiero que solo los monitores 1 y 2 estén activos... pero en el home
entorno quiero que el monitor 3 sea el único monitor activo.
He estado luchando por encontrar una manera de automatizar esto. Probé algunas herramientas diferentes, incluidas algunas del paquete NirSoft (MonitorInfoTool y MultiMonitorTool). Sin embargo, cada herramienta que encuentro parece tener un defecto grave: los ID no son únicos (es decir, cambian cada vez que cambio la configuración del monitor) o simplemente son completamente incorrectos.
MonitorInfoTool: muchas veces confunde dos de los monitores, indicará que los monitores 1 y 3 están activos cuando en realidad, 2 y 3 están activos (sé que esta no es una configuración deseada, pero estaba jugando con ella).
MultiMonitorTool: No tiene un identificador único. Lo más parecido que tiene son los identificadores \\.\DISPLAYX que aparentemente se asignan aleatoriamente cuando se cambia la configuración del monitor. Esta herramienta también tiene una función de configuración de monitor de carga/guardado, pero encuentro que a menudo no funciona.
Después de algunas investigaciones, parece que esto es principalmente un problema con Windows 7. Microsoft simplemente no se molestó en crear una manera fácil de identificar monitores para otros programas.
¿Alguien ha podido cambiar de manera confiable entre configuraciones de monitor con Windows 7? ¿Alguien ha podido asignar de manera confiable algún tipo de identificador para alternar (es decir, \\.\DISPLAYX id) a un nombre legible por humanos (o semilegible) en Windows 7?