ChangeDisplaySettingsA-Funktion (winuser.h)
Die ChangeDisplaySettings-Funktion ändert die Einstellungen des Standardanzeigegeräts in den angegebenen Grafikmodus.
Um die Einstellungen eines angegebenen Anzeigegeräts zu ändern, verwenden Sie die ChangeDisplaySettingsEx-Funktion .
Syntax
LONG ChangeDisplaySettingsA(
[in] DEVMODEA *lpDevMode,
[in] DWORD dwFlags
);
Parameter
[in] lpDevMode
Ein Zeiger auf eine DEVMODE-Struktur , die den neuen Grafikmodus beschreibt. Wenn lpDevModeNULL ist, werden alle derzeit in der Registrierung befindlichen Werte für die Anzeigeeinstellung verwendet. Das Übergeben von NULL für den parameter lpDevMode und 0 für den dwFlags-Parameter ist die einfachste Möglichkeit, nach einer Änderung des dynamischen Modus in den Standardmodus zurückzukehren.
Das dmSize-Element von DEVMODE muss in die Größe der DEVMODE-Struktur in Bytes initialisiert werden. Das dmDriverExtra-Member von DEVMODE muss initialisiert werden, um die Anzahl der Bytes privater Treiberdaten nach der DEVMODE-Struktur anzugeben. Darüber hinaus können Sie ein 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-Member festlegen, um die Anzeigeeinstellung zu ändern.
Wert | Bedeutung |
---|---|
DM_BITSPERPEL | Verwenden Sie den Wert dmBitsPerPel . |
DM_PELSWIDTH | Verwenden Sie den Wert dmPelsWidth . |
DM_PELSHEIGHT | Verwenden Sie den Wert dmPelsHeight . |
DM_DISPLAYFLAGS | Verwenden Sie den Wert dmDisplayFlags . |
DM_DISPLAYFREQUENCY | Verwenden Sie den Wert dmDisplayFrequency . |
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.
Wenn Sie CDS_TEST angeben, kann eine Anwendung ermitteln, 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 von Flags umfassen. |
|
Beim Anzeigetreiber ist der angegebene Grafikmodus fehlgeschlagen. |
|
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 vom Anzeigetreiber unterstützte Werte enthält, verwenden Sie den DEVMODE, der von der Funktion EnumDisplaySettings zurückgegeben wird.
Wenn der Anzeigemodus dynamisch geändert wird, wird die WM_DISPLAYCHANGE Nachricht 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 steht nicht im Zusammenhang mit dem aufrufenden Kontext.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 Code, der nicht Codierungsneutral ist, 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 (windows.h einschließen) |
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) |