Entwickler-Ecke
Windows API - Bildschirmfrequenz ändern
Psychoholic - Sa 05.10.02 12:19
Titel: Bildschirmfrequenz ändern
Hallo! Ich habe folgendes Problem. Ich möchte die Bildschirmauflösung ändern. Dies geht mit einer kleinen Funktion dieser Art ganz einfach:
Delphi-Quelltext
1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11:
| function change_resolution(width, height: word): boolean; var lpDevMode: TDeviceMode; begin Result := EnumDisplaySettings(nil, 0, lpDevMode); if Result then begin lpDevMode.dmFields := DM_PELSWIDTH or DM_PELSHEIGHT; lpDevMode.dmPelsWidth := width; lpDevMode.dmPelsHeight := height; Result := ChangeDisplaySettings(lpDevMode, CDS_UPDATEREGISTRY) = DISP_CHANGE_SUCCESSFUL; end; end; |
Nur mein Monitor schaltet beim Wechsel immer auf eine niedrigere Bildschirmfrequenz um. Wie kann ich dies verhindern bzw. von Delphi wieder einstellen lassen?
Grüße, Roland
(07.10.02 10:36 Tino) Code-Tags hinzugefügt.
Moderiert von
UGrohne: Code- durch Delphi-Tags ersetzt
LCS - Mo 07.10.02 08:05
Hi
im Grunde genommen könntest du mit ChangeDisplaySettings auch die Bildwiederholfrequenz ändern.
Delphi-Quelltext
1: 2: 3: 4: 5: 6: 7: 8:
| Result := EnumDisplaySettings(nil, 0, lpDevMode); if Result then begin lpDevMode.dmFields := DM_PELSWIDTH or DM_PELSHEIGHT or DM_DISPLAYFREQUENCY; lpDevMode.dmPelsWidth := width; lpDevMode.dmPelsHeight := height; lpDevMode.dmDisplayFrequency := Wiederholfrequenz; Result := ChangeDisplaySettings(lpDevMode, CDS_UPDATEREGISTRY) = DISP_CHANGE_SUCCESSFUL; end; |
Welche Wiederholfrequenzen bei welcher Auflösung zulässig sind, musst du vorher allerdings selbst ermitteln indem du EnumDisplaySettings auswertest.
Gruss Lothar
Moderiert von
UGrohne: Code- durch Delphi-Tags ersetzt
Entwickler-Ecke.de based on phpBB
Copyright 2002 - 2011 by Tino Teuber, Copyright 2011 - 2025 by Christian Stelzmann Alle Rechte vorbehalten.
Alle Beiträge stammen von dritten Personen und dürfen geltendes Recht nicht verletzen.
Entwickler-Ecke und die zugehörigen Webseiten distanzieren sich ausdrücklich von Fremdinhalten jeglicher Art!