ChangeDisplaySettingsW-Funktion (winuser.h)
Die ChangeDisplaySettings-Funktion ändert die Einstellungen des Standardanzeigegeräts in den angegebenen Grafikmodus.
Verwenden Sie die ChangeDisplaySettingsEx-Funktion , um die Einstellungen eines angegebenen Anzeigegeräts zu ändern.
Syntax
LONG ChangeDisplaySettingsW(
[in] DEVMODEW *lpDevMode,
[in] DWORD dwFlags
);
Parameter
[in] lpDevMode
Ein Zeiger auf eine DEVMODE-Struktur , die den neuen Grafikmodus beschreibt. Wenn lpDevModeNULL ist, werden alle Werte, die derzeit in der Registrierung enthalten sind, für die Anzeigeeinstellung verwendet. Das Übergeben von NULL für den lpDevMode-Parameter und 0 für den dwFlags-Parameter ist die einfachste Möglichkeit, nach einer Änderung des dynamischen Modus zum Standardmodus zurückzukehren.
Das dmSize-Element von DEVMODE muss mit der Größe der DEVMODE-Struktur in Bytes initialisiert werden. Das dmDriverExtra-Element von DEVMODE muss initialisiert werden, um die Anzahl der Byte privater Treiberdaten nach der DEVMODE-Struktur anzugeben. Darüber hinaus können Sie beliebige oder alle der folgenden Member der DEVMODE-Struktur verwenden.
Mitglied | Bedeutung |
---|---|
dmBitsPerPel | Bit pro Pixel |
dmPelsWidth | Pixelbreite |
dmPelsHeight | Pixelhöhe |
dmDisplayFlags | Modusflags |
dmDisplayFrequency | Modushäufigkeit |
dmPosition | Position des Geräts in einer Konfiguration mit mehreren Monitoren. |
Zusätzlich zur Verwendung eines oder mehrerer der vorherigen DEVMODE-Member müssen Sie auch einen oder mehrere der folgenden Werte im dmFields-Element festlegen, um die Anzeigeeinstellung zu ändern.
Wert | Bedeutung |
---|---|
DM_BITSPERPEL | Verwenden Sie den DmBitsPerPel-Wert . |
DM_PELSWIDTH | Verwenden Sie den DmPelsWidth-Wert . |
DM_PELSHEIGHT | Verwenden Sie den DmPelsHeight-Wert . |
DM_DISPLAYFLAGS | Verwenden Sie den DmDisplayFlags-Wert . |
DM_DISPLAYFREQUENCY | Verwenden Sie den DmDisplayFrequency-Wert . |
DM_POSITION | Verwenden Sie den DmPosition-Wert . |
[in] dwFlags
Gibt an, wie der Grafikmodus geändert werden soll. Dieser Parameter kann einen der folgenden Werte annehmen.
Durch die Angabe CDS_TEST kann eine Anwendung bestimmen, welche Grafikmodi tatsächlich gültig sind, ohne dass das System in diesen Grafikmodus wechselt.
Wenn CDS_UPDATEREGISTRY angegeben ist und es möglich ist, den Grafikmodus dynamisch zu ändern, werden die Informationen in der Registrierung gespeichert und DISP_CHANGE_SUCCESSFUL zurückgegeben. Wenn es nicht möglich ist, den Grafikmodus dynamisch zu ändern, werden die Informationen in der Registrierung gespeichert und DISP_CHANGE_RESTART zurückgegeben.
Wenn CDS_UPDATEREGISTRY angegeben ist und die Informationen nicht in der Registrierung gespeichert werden konnten, wird der Grafikmodus nicht geändert und DISP_CHANGE_NOTUPDATED zurückgegeben.
Rückgabewert
Die ChangeDisplaySettings-Funktion gibt einen der folgenden Werte zurück.
Rückgabecode | Beschreibung |
---|---|
|
Die Einstellungsänderung war erfolgreich. |
|
Die Einstellungsänderung war nicht erfolgreich, da das System DualView-fähig ist. |
|
Ein ungültiger Satz von Flags wurde übergeben. |
|
Der Grafikmodus wird nicht unterstützt. |
|
Ein ungültiger Parameter wurde übergeben. Dies kann ein ungültiges Flag oder eine Kombination aus Flags umfassen. |
|
Fehler beim Anzeigetreiber für den angegebenen Grafikmodus. |
|
Einstellungen können nicht in die Registrierung geschrieben werden. |
|
Der Computer muss neu gestartet werden, damit der Grafikmodus funktioniert. |
Hinweise
Um sicherzustellen, dass die an ChangeDisplaySettings übergebene DEVMODE-Struktur gültig ist und nur werte enthält, die vom Anzeigetreiber unterstützt werden, verwenden Sie die DEVMODE-Eigenschaft, die von der EnumDisplaySettings-Funktion zurückgegeben wird.
Wenn der Anzeigemodus dynamisch geändert wird, wird die meldung WM_DISPLAYCHANGE mit den folgenden Nachrichtenparametern an alle ausgeführten Anwendungen gesendet.
Parameter | Bedeutung |
---|---|
wParam | Neue Bits pro Pixel |
LOWORD(lParam) | Neue Pixelbreite |
HIWORD(lParam) | Neue Pixelhöhe |
DPI-Virtualisierung
Diese API ist nicht an der DPI-Virtualisierung beteiligt. Die angegebene Eingabe bezieht sich immer auf physische Pixel und ist nicht mit dem aufrufenden Kontext verknüpft.Hinweis
Der winuser.h-Header definiert ChangeDisplaySettings als Alias, der die ANSI- oder Unicode-Version dieser Funktion basierend auf der Definition der UNICODE-Präprozessorkonstante automatisch auswählt. Das Mischen der Verwendung des codierungsneutralen Alias mit nicht codierungsneutralem Code kann zu Nichtübereinstimmungen führen, die zu Kompilierungs- oder Laufzeitfehlern führen. Weitere Informationen finden Sie unter Konventionen für Funktionsprototypen.
Anforderungen
Anforderung | Wert |
---|---|
Unterstützte Mindestversion (Client) | Windows 2000 Professional [nur Desktop-Apps] |
Unterstützte Mindestversion (Server) | Windows 2000 Server [nur Desktop-Apps] |
Zielplattform | Windows |
Kopfzeile | winuser.h (einschließlich Windows.h) |
Bibliothek | User32.lib |
DLL | User32.dll |
APIs | ext-ms-win-ntuser-sysparams-ext-l1-1-1 (eingeführt in Windows 10, Version 10.0.14393) |
Weitere Informationen
Feedback
https://aka.ms/ContentUserFeedback.
Bald verfügbar: Im Laufe des Jahres 2024 werden wir GitHub-Issues stufenweise als Feedbackmechanismus für Inhalte abbauen und durch ein neues Feedbacksystem ersetzen. Weitere Informationen finden Sie unterFeedback senden und anzeigen für