Ich muss die Bildschirmauflösung mit meiner Anwendung ändern.Bildschirmauflösung abrufen
Gewusst wie:
- aktuelle Auflösung Lesen
- Ändern es meine Anwendung verwenden und dann zu Strom an der Ausfahrt zurück.
Danke, Furqan
Ich muss die Bildschirmauflösung mit meiner Anwendung ändern.Bildschirmauflösung abrufen
Gewusst wie:
Danke, Furqan
1) Wie lese ich die aktuelle Bildschirmauflösung ?
Die aktuelle Bildschirmauflösung zu erhalten ist einfach und in das Framework integriert, ohne dass man sich in etwas wie die GetSystemMetrics
API vertiefen muss. Die Klasse Screen
enthält Informationen über alle an das System angeschlossenen Anzeigegeräte. So um die Auflösung des primären Monitors, um zu bestimmen, könnten Sie so etwas wie verwenden:
Dim screenWidth as Integer = Screen.PrimaryScreen.Bounds.Width
Dim screenHeight as Integer = Screen.PrimaryScreen.Bounds.Height
mit mehreren Monitoren beschäftigen, schauen Sie in die Screen.AllScreens
Eigenschaft, die gibt ein Array von Screen
Objekte zu jedem der Displays entsprechend an das System. Sie könnten dann (unter Verwendung des obigen Codes) die Auflösung jedes der an den Computer angeschlossenen Displays bestimmen, indem Sie das Array von Screen
Objekten durchlaufen.
2) Wie ändere ich die aktuelle Bildschirmauflösung von meiner VB.NET-Anwendung?
Das Ändern der Bildschirmauflösung ist etwas schwieriger. Bevor Sie weiter gehen, würde ich Sie warnen, dass eine Anwendung, die die Bildschirmauflösung des Benutzers anpasst, unerwartet und möglicherweise creates a hostile user environment ist. Ich weiß, dass ich keine Anwendung verwenden würde, die meine Bildschirmauflösung ohne Erlaubnis änderte, und ich würde lange und intensiv darüber nachdenken, eine zu verwenden, die mich überhaupt dazu auffordert. Wenn Sie versuchen, einen Bildschirmschoner zu erstellen, gibt es wahrscheinlich einen besseren und einfacheren Weg, um das zu tun, was Sie wollen. Davon abgesehen, kann es von VB.NET aus durchgeführt werden, wenn Sie einige Funktionen der Windows-API aufrufen/aufrufen möchten.
Die einfachste Möglichkeit, wenn Sie nur den Fall eines einzelnen Monitors betreffen, ist die ChangeDisplaySettings
-Funktion, mit der Sie den Grafikmodus der Standardanzeige festlegen können (nur der primäre Monitor des Benutzers).
Um mit mehreren Monitoren arbeiten zu können, müssen Sie die Funktion EnumDisplayDevices
verwenden, um Informationen zu allen an den Computer angeschlossenen Anzeigegeräten abzurufen, und ChangeDisplaySettingsEx
, um einen bestimmten Bildschirm zu ändern.
Auschecken pinvoke.net für wie die Signaturen der Windows-API-Aufrufe in VB.NET deklarieren. Eine Google-Suche ergab this thread, obwohl ich den von ihnen bereitgestellten Beispielcode nicht verifiziert habe.
Um die Bildschirmauflösung nur während der Ausführung der App zu ändern und sie beim Beenden des Programms wiederherzustellen, sollten Sie die aktuellen Bildschirmeinstellungen speichern, bevor Sie sie ändern und dann wiederherstellen (mit derselben Methode) Anrufe), wenn Ihre Anwendung beendet wird.
Wie aktuelle Bildschirmauflösung
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
bekommen Wie aktuelle Bildschirmauflösung ändern - solution
+1 ... eine Anwendung hat kein Geschäft meine Bildschirmauflösung zu ändern! Selbst Spiele (gewohnt?) Vermasseln das komplett. –