So ermitteln Sie die aktuelle Bildschirmauflösung: Optionen von WinAPI
Das Ermitteln der aktuellen Bildschirmauflösung in Windows ist entscheidend, wenn Sie ein Vollbild-OpenGL starten Fenster mit den gleichen Abmessungen wie der Desktop. Hier ist eine umfassende Anleitung zum Erkennen der Bildschirmauflösung mithilfe von WinAPI-Methoden:
-
Primäre Monitorauflösung:
- Breite und Höhe in Pixel abrufen unter Verwendung von GetSystemMetrics(SM_CXSCREEN) und GetSystemMetrics(SM_CYSCREEN).
- Alternativ können Sie GetDeviceCaps(screen_hdc, HORZRES) und GetDeviceCaps(screen_hdc, VERTRES) für die horizontale bzw. vertikale Auflösung verwenden.
-
Kombinierte Auflösung aller Monitore:
- Verwenden Sie GetSystemMetrics(SM_CXVIRTUALSCREEN) und GetSystemMetrics(SM_CYVIRTUALSCREEN) für die Gesamtbreite und -höhe.
-
Auflösung des Arbeitsbereichs (außer Taskleiste):
- Erhalten Sie die Abmessungen des Arbeitsbereichs durch Aufruf von SystemParametersInfo(SPI_GETWORKAREA, sizeof(RECT), &rect_ptr , 0) und extrahieren Sie dann die rect_ptr-Werte für Breite und Höhe.
-
Spezifische Monitorauflösung:
- Verwenden Sie GetMonitorInfo () mit dem entsprechenden HMONITOR, um sowohl den Arbeitsbereich als auch die Vollbildabmessungen zu erhalten.
Zusätzliche Überlegungen:
- Denken Sie daran, dass die Monitorkoordinaten möglicherweise nicht immer bei 0,0 beginnen. Verwenden Sie MonitorFromWindow(), um den aktiven Monitor für ein Fenster zu finden, bevor Sie GetMonitorInfo() verwenden.
- Um die Bildschirmauflösung zu ändern oder Aktualisierungsraten abzurufen, nutzen Sie API-Funktionen auf niedriger Ebene wie EnumDisplayDevices(), EnumDisplaySettings() und ChangeDisplaySettings().
- GetDeviceCaps() kann auch Informationen zur Farbtiefe bereitstellen.
Das obige ist der detaillierte Inhalt vonHier sind einige Titeloptionen, wobei das Fragenformat und der Schwerpunkt des Artikels auf WinAPI-Methoden für die Bildschirmauflösung zu berücksichtigen sind:
Option 1 (direkt und spezifisch):
* So erhalten Sie die Bildschirmauflösung. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!