[Delphi] Aktuelle Display-Settings ermitteln

Hallo,

die Auflösung und die Farbtiefe kann ich mit ChangeDisplaySettings einstellen, aber wie kann ich später den Originalzustand wiederherstellen ?

Grüße Ralf

wie wär’s wenn man die Vorherigen speichern würde ?

Ich finde das eh keine gute Technik die Auflösung willkürlich zu ändern. Sollte Programme würden mich aufregen. Du kannst auch nicht wissen mit welcher Frequenz welcher Monitor welche Auflösung verträgt.

Hi Roger,

wie wär’s wenn man die Vorherigen speichern würde ?

jaja, genau das is ja mein Problem, ich weiss nicht, wie ich die aktuelle Farbtiefe ermitteln soll, für die ScreenGröße habe ich vorhin die Funktion getSystemMetrics gefunden.

Ich finde das eh keine gute Technik die Auflösung willkürlich
zu ändern. Sollte Programme würden mich aufregen. Du kannst
auch nicht wissen mit welcher Frequenz welcher Monitor welche
Auflösung verträgt.

ich mag das auch nicht, aber es geht leider in diesem Fall nicht anders. Weisst Du wie ich die Farbtiefe ermitteln kann ?

Grüße Ralf

var DesktopDC : HDC;
BitsPerPixel : integer;
begin
DesktopDC := GetDC(0); // Device-Context des Desktops
BitsPerPixel := GetDeviceCaps(DesktopDC, BITSPIXEL);
case BitsPerPixel of
4: ShowMessage(‚16 Farben (4-Bit Farbtiefe)‘);
8: ShowMessage(‚256 Farben (8-Bit Farbtiefe)‘);
16: ShowMessage(‚64K Farben (16-Bit Farbtiefe)‘);
24: ShowMessage(‚16M Farben (24-Bit Farbtiefe)‘);
32: ShowMessage(‚True Color (32-Bit Farbtiefe)‘);
end;
ReleaseDC(0, DesktopDC);
end;

Hallo Roger,

vielen Dank :smile:

tschüüß Ralf