das geht so:
Delphi-Quellcode:
function ChangeResolution(sizex, sizey, bpp: DWORD): Boolean;
var
DeviceMode: TDeviceModeA;
i: Integer;
begin
i := 0;
Result := False;
while EnumDisplaySettings(nil, i, DeviceMode) do begin
with DeviceMode do
if (dmPelsWidth = sizex) and
(dmPelsHeight = SizeY) and
(dmBitsPerPel = bpp) then begin
// erst testen, bevor wir umschalten!
case ChangeDisplaySettings(DeviceMode, CDS_TEST) of
// es wird klappen!
DISP_CHANGE_SUCCESSFUL:
Result := True;
DISP_CHANGE_RESTART:
Showmessage('Neustart erforderlich');
DISP_CHANGE_BADFLAGS:
Showmessage('Ungültige Bildschirmeinstellungen');
DISP_CHANGE_FAILED:
Showmessage('Auflösung konnte nicht geändert werden');
DISP_CHANGE_BADMODE:
Showmessage('Bildschirm unterstützt diese Auflösung nicht');
// Nur Windows NT
DISP_CHANGE_NOTUPDATED:
Showmessage('Registry konnte nicht aktualisiert werden');
else
Result := True;
end;
if Result then
//jetzt wird umgeschaltet
ChangeDisplaySettings(DeviceMode, CDS_FULLSCREEN)
end;
Inc(i);
end;
end;
das ganze wird dann so aufgerufen:
ChangeResolution(800, 600, 16);
die icons kriegt man dann wie gesagt mit dem prog von luckie zurück...