Condividi tramite


Più applicazioni di monitoraggio in sistemi diversi

Per avere l'applicazione monitoraware multipla funziona sia nei sistemi con che senza più supporto di monitoraggio, collegare l'applicazione a Multimon.h. È anche necessario definire COMPILE_MULTIMON_STUBS in un file C esattamente. Se il sistema non supporta più monitor, questo restituisce i valori predefiniti di GetSystemMetrics e le funzioni di monitoraggio multiple fungono da solo una visualizzazione. In più sistemi di monitoraggio l'applicazione funzionerà normalmente.

Poiché le coordinate negative possono verificarsi facilmente in un sistema multimonitor, è consigliabile recuperare le coordinate che vengono compresse nell'oggetto lParam usando le macro GET_X_LPARAM e GET_Y_LPARAM .

Non usare coordinate negative o coordinate maggiori di SM_CXSCREEN e SM_CYSCREEN per nascondere una finestra. Windows che usano questi limiti per nascondere può essere visualizzato in un altro monitoraggio. Analogamente, non usare questi limiti per mantenere visibile una finestra perché può causare lo snap di una finestra al monitoraggio primario. È consigliabile ripetere le applicazioni esistenti per questi problemi. È tuttavia possibile ridurre al minimo i problemi nelle applicazioni esistenti eseguendo l'applicazione nel monitoraggio primario o mantenendo il monitoraggio primario nell'angolo superiore sinistro dello schermo virtuale.

Si noti che SM_CXMAXTRACK e SM_CYMAXTRACK sono definiti per il desktop, non solo per un monitoraggio. Windows che usa questi limiti potrebbe essere necessario ridefinire.

Una finestra padre o correlata potrebbe non trovarsi nello stesso monitor di una finestra figlio. Per individuare il monitoraggio di una finestra, le applicazioni devono usare la funzione MonitorFromWindow .

Per visualizzare uno screen saver su tutti i monitor, collegare con la versione più recente di Scrnsave.lib. In caso contrario, lo screen saver può essere visualizzato solo nel monitoraggio primario e lasciare invariati gli altri monitor. Gli screen saver collegati alla versione più recente di Scrnsave.lib funzioneranno sia su sistemi di monitoraggio singoli che su più sistemi di monitoraggio. Per avere uno screen saver diverso in ogni monitoraggio, usare le funzioni di monitoraggio multiple per gestire ogni monitoraggio separatamente.

I dispositivi di input che forniscono coordinate al sistema in coordinate assolute, ad esempio tablet, hanno il relativo input cursore limitato al monitoraggio primario. Per cambiare input tablet tra monitor, vedere le istruzioni dell'OEM.

Per eseguire il mapping dell'input del mouse inviato in coordinate assolute all'intera schermata virtuale, usare la struttura INPUT con MOUSEEVENTF_ABSOLUTE e MOUSEEVENTF_VIRTUALDESKTOP.

La funzione BitBlt funziona bene per più sistemi di monitoraggio. Tuttavia, le funzioni MaskBlt, PlgBlt, StretchBlt e TransparentBlt avranno esito negativo se i contesti del dispositivo di origine e di destinazione sono diversi.