Necesito cambiar las resoluciones de pantalla usando mi aplicación.Obtener resolución de pantalla
Cómo:
- Leer resolución actual
- cambiarlo mediante mi solicitud y luego regresar a la corriente de salida.
Gracias, Furqan
Necesito cambiar las resoluciones de pantalla usando mi aplicación.Obtener resolución de pantalla
Cómo:
Gracias, Furqan
1) ¿Cómo se lee la resolución de pantalla actual ?
Obtener la resolución de pantalla actual es fácil y está integrada en el marco sin tener que profundizar en algo como la API GetSystemMetrics
. La clase Screen
contiene información sobre todos los dispositivos de visualización conectados al sistema. Así que para determinar la resolución del monitor principal, usted podría utilizar algo como:
Dim screenWidth as Integer = Screen.PrimaryScreen.Bounds.Width
Dim screenHeight as Integer = Screen.PrimaryScreen.Bounds.Height
que tratar con múltiples monitores, mira en la propiedad Screen.AllScreens
, que devuelve una matriz de Screen
objetos que corresponden a cada una de las pantallas conectadas a el sistema. A continuación, puede determinar (utilizando el código anterior) la resolución de cada una de las pantallas conectadas a la computadora mediante un bucle a través de la matriz de objetos Screen
.
2) ¿Cómo cambio la resolución de pantalla actual de mi aplicación VB.NET?
Cambiar la resolución de la pantalla es un poco más difícil. Antes de seguir adelante, le advierto que una aplicación que ajusta la resolución de visualización del usuario es inesperada y potencialmente creates a hostile user environment. Sé que no usaría una aplicación que cambiara la resolución de mi pantalla sin permiso, y pensaría mucho en usar una que me obligara a hacerlo. Si está intentando crear un protector de pantalla, probablemente haya una manera mejor y más sencilla de hacer lo que quiera. Una vez dicho esto, se puede hacer desde VB.NET si está dispuesto a P/Invocar algunas funciones de la API de Windows.
La manera más simple si solo le preocupa el caso de un solo monitor es usar la función ChangeDisplaySettings
, que le permite especificar el modo gráfico de la pantalla predeterminada (solo el monitor principal del usuario).
Para manejar el caso de múltiples monitores, necesitará usar la función EnumDisplayDevices
para obtener información sobre todos los dispositivos de visualización conectados a la computadora, y la función ChangeDisplaySettingsEx
para cambiar una pantalla en particular.
Consulte pinvoke.net para saber cómo declarar las firmas de las llamadas a la API de Windows en VB.NET. Una búsqueda en Google apareció this thread, aunque no he verificado el código de muestra que proporcionan.
Para modificar la resolución de la pantalla solo mientras se ejecuta su aplicación, y luego restaurarla cuando el usuario cierre su programa, querrá guardar la configuración de pantalla actual antes de modificarla y restaurarla (utilizando el mismo método) llamadas) cuando su aplicación sale.
Como llegar resolución de pantalla actual
Public Function ScreenResolution() As String
Dim intX As Integer = Screen.PrimaryScreen.Bounds.Width
Dim intY As Integer = Screen.PrimaryScreen.Bounds.Height
Return intX & " × " & intY
End Function
Cómo cambiar la resolución de pantalla actual - solution
+1 ... ¡una aplicación no tiene ningún problema para cambiar la resolución de mi pantalla! Incluso los juegos (¿solían?) Arruinar esto por completo. –