das ist mal wirklich merkwürdig!
ich benutze diese ChangeResolution-Funktion hier:
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;
Zuhause funktioniert die auch perfekt(Radeon9800), aber in der Schule an den Rechnern (ham irgendsoeinen integrierten Intel-Grafikspaß) ist der Bildschirm dann auf dem Kopf! und man muss ihn erst durch zweimaliges drücken einer bestimmte Tastenkombination (Bildschirm um 90° drehen) wieder richtig herum drehen...
Hat jemand ne Ahnung woran das liegt/wie ich das lösen könnte, dass die ChangeResolution funktion sowohl zuhause als auch auf den Schulrechnern läuft?