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 lpDevMode-NULL-ist, werden alle Werte, die sich derzeit in der Registrierung befindet, für die Anzeigeeinstellung verwendet. Das Übergeben NULL- für den parameter lpDevMode und 0 für den dwFlags Parameter ist die einfachste Möglichkeit, nach einer Änderung des dynamischen Modus zum Standardmodus zurückzukehren.
Das dmSize Member von DEVMODE- muss in Byte der DEVMODE--Struktur initialisiert werden. Das dmDriverExtra- Mitglied von DEVMODE- muss initialisiert werden, um die Anzahl der Byte privater Treiberdaten nach der DEVMODE- Struktur anzugeben. Darüber hinaus können Sie eine oder alle der folgenden Member der DEVMODE- Struktur verwenden.
Mitglied | Bedeutung |
---|---|
dmBitsPerPel- | Bits pro Pixel |
dmPelsWidth- | Pixelbreite |
dmPelsHeight- | Pixelhöhe |
dmDisplayFlags- | Moduskennzeichnungen |
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 wert dmPosition. |
[in] dwFlags
Gibt an, wie der Grafikmodus geändert werden soll. Dieser Parameter kann einer der folgenden Werte sein:
Wenn Sie CDS_TEST angeben, 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. |
|
Es wurde ein ungültiger Satz von Flags übergeben. |
|
Der Grafikmodus wird nicht unterstützt. |
|
Ein ungültiger Parameter wurde übergeben. Dies kann eine ungültige Kennzeichnung oder Eine Kombination von Kennzeichen enthalten. |
|
Der Anzeigetreiber hat den angegebenen Grafikmodus nicht bestanden. |
|
Einstellungen können nicht in die Registrierung geschrieben werden. |
|
Der Computer muss neu gestartet werden, damit der Grafikmodus funktioniert. |
Bemerkungen
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-, die von der EnumDisplaySettings-Funktion zurückgegeben wird.
Wenn der Anzeigemodus dynamisch geändert wird, wird die WM_DISPLAYCHANGE Nachricht an alle ausgeführten Anwendungen mit den folgenden Meldungsparametern gesendet.
Parameter | Bedeutung |
---|---|
wParam | Neue Bits pro Pixel |
LOWORD(lParam) | Neue Pixelbreite |
HIWORD(lParam) | Neue Pixelhöhe |
DPI-Virtualisierung
Diese API nimmt nicht an der DPI-Virtualisierung teil. Die angegebene Eingabe entspricht immer physischen Pixeln und ist nicht mit dem aufrufenden Kontext verknüpft.Anmerkung
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 |
---|---|
mindestens unterstützte Client- | Windows 2000 Professional [nur Desktop-Apps] |
mindestens unterstützte Server- | Windows 2000 Server [nur Desktop-Apps] |
Zielplattform- | Fenster |
Header- | winuser.h (enthalten Windows.h) |
Library | User32.lib |
DLL- | User32.dll |
API-Satz | ext-ms-win-ntuser-sysparams-ext-l1-1-1 (eingeführt in Windows 10, Version 10.0.14393) |
Siehe auch
übersicht über Gerätekontexte