Varias aplicaciones de supervisión en diferentes sistemas
Para que la aplicación monitoraware múltiple funcione en sistemas con y sin compatibilidad con varios monitores, vincule la aplicación con Multimon.h. También debe definir COMPILE_MULTIMON_STUBS en exactamente un archivo C. Si el sistema no admite varios monitores, devuelve valores predeterminados de GetSystemMetrics y las funciones de supervisión múltiples actúan como si solo hubiera una pantalla. En varios sistemas de supervisión, la aplicación funcionará normalmente.
Dado que las coordenadas negativas pueden producirse fácilmente en un sistema multimonitor, debe recuperar las coordenadas empaquetadas en lParam mediante las macros GET_X_LPARAM y GET_Y_LPARAM .
No use coordenadas o coordenadas negativas mayores que SM_CXSCREEN y SM_CYSCREEN para ocultar una ventana. Windows que usan estos límites para ocultar pueden aparecer en otro monitor. Del mismo modo, no use estos límites para mantener visible una ventana porque esto puede hacer que una ventana se ajuste al monitor principal. Es mejor volver a examinar las aplicaciones existentes para estos problemas. Sin embargo, puede minimizar los problemas en las aplicaciones existentes ejecutando la aplicación en el monitor principal o manteniendo el monitor principal en la esquina superior izquierda de la pantalla virtual.
Tenga en cuenta que SM_CXMAXTRACK y SM_CYMAXTRACK están definidos para el escritorio, no solo para un monitor. Windows usar estos límites puede que deba volver a definirse.
Es posible que una ventana primaria o relacionada no esté en el mismo monitor que una ventana secundaria. Para buscar el monitor de una ventana, las aplicaciones deben usar la función MonitorFromWindow .
Para que se muestre un protector de pantalla en todos los monitores, vincule con la versión más reciente de Scrnsave.lib. De lo contrario, el protector de pantalla solo puede aparecer en el monitor principal y dejar los demás monitores intactos. Los protectores de pantalla vinculados con la versión más reciente de Scrnsave.lib funcionarán en sistemas de monitor únicos y múltiples. Para tener un protector de pantalla diferente en cada monitor, use las funciones de varios monitores para controlar cada monitor por separado.
Los dispositivos de entrada que entregan coordenadas al sistema en coordenadas absolutas, como tabletas, tienen su entrada de cursor restringida al monitor principal. Para cambiar la entrada de tableta entre monitores, consulte las instrucciones del OEM.
Para asignar la entrada del mouse que se envía en coordenadas absolutas a toda la pantalla virtual, use la estructura INPUT con MOUSEEVENTF_ABSOLUTE y MOUSEEVENTF_VIRTUALDESKTOP.
La función BitBlt funciona bien para varios sistemas de supervisión. Sin embargo, se producirá un error en las funciones MaskBlt, PlgBlt, StretchBlt y TransparentBlt si los contextos de dispositivo de origen y destino son diferentes.