2012-09-14 23 views
5

i necesidad de mostrar de diálogo en la pantalla por su número de identificación, por ejemplo, tengo esta situación screen setup on windowsCómo obtener el número de identificación de la pantalla de la clase Screen

quiero mostrar algo en el cuarto, cuando llegue a todas las pantallas de usando Screen.AllScreens, mi cuarta pantalla tiene 0 elementos en la matriz, porque AllScreens devuelve las pantallas no por el número de sangrado sino por squence. Así que alguien puede saber cómo obtener el número de identificación de la clase Pantalla, o cómo obtener las coordenadas y límites de la pantalla por su número de identificación.

ACTUALIZACIÓN:

DeviceName no siempre es corrspont al número de identificación (ver imagen abajo):

enter image description here

+0

¿Has encontrado una solución? – acelot

Respuesta

2

Si nos fijamos en screen.DeviceName usted debe conseguir \\\\.\\DISPLAY1, \\\\.\\DISPLAY2, etc Usted puede utilizar esto para buscar \\\\.\\DISPLAY4.

+0

Hola otra vez que su solución no funciona, actualicé mi pregunta con una imagen en la que el número de identificación no es equivalente al número del nombre del dispositivo. – Velutis

0

Para obtener el número de la pantalla (manera sucia, pero funciona):

var sceenId = -1; 
var targetScreen = Screen.FromPoint(Cursor.Position); 
for (var i = 0; i < Screen.AllScreens.Length; i++) 
{ 
    if (!Equals(targetScreen, Screen.AllScreens[i])) 
     continue; 
    sceenId = i; 
    break; 
} 

Para obtener coordenadas de pantalla y fuera a su número de identificación:

Screen.AllScreens[sceenId].Bounds

Cuestiones relacionadas