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?
6
A
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' –
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. –