2012-06-17 5 views
6

Sto lavorando a un progetto in cui prendo screenshot di singoli monitor (TMonitor) e trasmetto le loro immagini tramite la rete (visualizzazione desktop remoto). Supponiamo che un monitor sia stato aggiunto/rimosso (che posso già riconoscere), ho bisogno di sincronizzare lo che monitora ciò che è accaduto. Perché, supponiamo che ci siano 3 monitor, indici 0, 1, 2. Il monitor 1 viene rimosso. Non voglio cambiare automaticamente l'indice da 2 a 1, voglio mantenere un ID in ogni momento. È possibile riconoscere una proprietà nella classe TMonitor (Screen.Monitors[i]) per identificarla in modo univoco?Come identificare univocamente un monitor?

+0

La maniglia di Windows rimane la stessa? In caso contrario, potresti provare a lavorare con la risoluzione del monitor. Non sembra esserci alcun tipo di identificatore univoco. –

risposta

14

Direi che la proprietà Handle di TMonitor sarà unica in ogni momento.

Secondo il documentation:

Un display fisico ha la stessa HMONITOR fintanto che è parte del desktop.

+0

HA! Non posso credere di non averlo visto, stavo cercando 'ID' –