¿Cómo se sondearía una ventana para ver qué monitores están conectados y en qué resolución se están ejecutando?Buscar Número y resolución en todos los monitores
Respuesta
En C#: Screen
Class Representa un dispositivo de visualización o múltiples dispositivos de visualización en un único sistema. Desea el atributo Bounds
.
foreach(var screen in Screen.AllScreens)
{
// For each screen, add the screen properties to a list box.
listBox1.Items.Add("Device Name: " + screen.DeviceName);
listBox1.Items.Add("Bounds: " + screen.Bounds.ToString());
listBox1.Items.Add("Type: " + screen.GetType().ToString());
listBox1.Items.Add("Working Area: " + screen.WorkingArea.ToString());
listBox1.Items.Add("Primary Screen: " + screen.Primary.ToString());
}
http://msdn.microsoft.com/en-us/magazine/cc301462.aspx
GetSystemMetrics es una función muy útil que puede utilizar para obtener todo tipo de dimensiones globales, como el tamaño de un icono o la altura de un título de la ventana. En Windows 2000, hay nuevos parámetros como SM_CXVIRTUALSCREEN y SM_CYVIRTUALSCREEN para obtener el tamaño virtual de la pantalla para sistemas de monitores múltiples. Los novatos de Windows (y también los profesionales) deben consultar la documentación de GetSystemMetrics para ver las diferentes métricas (dimensiones) del sistema que puede obtener. Consulte Platform SDK para obtener la última información al http://msdn.microsoft.com/library/en-us/sysinfo/sysinfo_8fjn.asp. GetSystemMetrics es una función útil que con frecuencia necesita usar, y nuevas cosas aparecen con cada versión de Windows.
Esto es genial. Hay código administrado para la mayoría de estas cosas ... Por ejemplo, la clase 'System.Windows.Forms.SystemInformation' probablemente contiene una mayoría. – mbrownnyc
Utilice Screen class.
Puede ver todos los monitores en la matriz Screen.AllScreens
y verificar la resolución y posición de cada uno usando la propiedad Bounds
.
Tenga en cuenta que algunas tarjetas de video fusionarán dos monitores en una sola pantalla muy ancha, por lo que Windows cree que solo hay un monitor. Si lo desea, puede verificar si el ancho de una pantalla es más del doble de su altura; si es así, es probable que sea un tramo horizontal y puede tratarlo como dos pantallas iguales. Sin embargo, esto es más complicado y no es necesario que lo hagas. Los tramos verticales también son compatibles, pero menos comunes.
- 1. WMI Obtener todos los monitores que no devuelven todos los monitores
- 2. Buscar todos los implícitos
- 3. Java: ¿Obtener resoluciones de uno/todos los monitores disponibles (en lugar de todo el escritorio)?
- 4. Git buscar todos los diffs
- 5. Buscar en todos los campos en Lucene
- 6. Buscar/Grep en todos los tampones VI
- 7. Buscar todos los archivos bloqueados en TFS
- 8. Buscar todos los archivos en una carpeta
- 9. Buscar tipos en todos los ensamblajes
- 10. Buscar columnas con todos los valores faltantes
- 11. ¿Cómo puedo obtener los números de los monitores desde el diálogo de Resolución de pantalla en win7 programáticamente?
- 12. Process.Start y monitores duales
- 13. Buscar todos los objetos con asociación rota
- 14. Buscar todos los recursos incrustados en otro conjunto
- 15. Reemplazar todos los puntos en un número
- 16. Cómo desactivar ReSharper "Buscar todos los usos"
- 17. Buscar todos los nodos de texto
- 18. Buscar el número de archivos con una extensión específica, en todos los subdirectorios
- 19. Buscar todos los estilos CSS utilizados en el sitio web
- 20. Buscar todos los archivos htaccess en el servidor
- 21. ¿Buscar todos los directorios de almacenamiento raíz DLNA en Cling?
- 22. Buscar todos los nodos de texto en la página HTML
- 23. Buscar múltiplos de un número en PHP
- 24. ¿Alguien puede explicar los monitores de hilo y esperar?
- 25. Múltiples monitores en .NET
- 26. Buscar todos los archivos editables en el directorio actual
- 27. ¿Cómo buscar todos los archivos abiertos en Eclipse?
- 28. ¿Cómo buscar todos los caracteres CJK en vim?
- 29. Buscar todos los archivos CSV en un directorio usando Python
- 30. Buscar todos los valores de 2 bits que coinciden con otro patrón binario y luego sumarlos
Al usar 'foreach (pantalla de pantalla en Screen.AllScreens)' esto se ve aún mejor. –
De hecho. Cuando respondí, no sabía C# :) –
Esto solo muestra un monitor cuando se ejecuta desde un servicio, ¿hay algún problema? –