Opløsning på skærm
HejJeg har et lille program, som skal ændre opsætningen af skærmen.
Jeg bruger koden :
Procedure SetWinRes(HardMaxX, HardMaxY, HardBPP: DWord);
var
WinRes : TDeviceMode;
begin
EnumDisplaySettings(nil, 0, WinRes);
WinRes.dmFields:=DM_PELSWIDTH or DM_PELSHEIGHT or DM_BITSPERPEL;
WinRes.dmPelsWidth :=HardMaxX;
WinRes.dmPelsHeight:=HardMaxY;
WinRes.dmBitsPerPel:=HardBPP;
ChangeDisplaySettings(WinRes, 0);
end;
HardMaxX og HardMaxY er skærmens bredde og vidde, og HardBPP er antal Bits Pr. Pixel, altså normalt 16 eller 24.
Eksempel: Får at sætte windows opløsning til 800*600 pixels med 16.777.216 (24 bit) farver skrives:
SetWinRes(800,600,24);
Det virker fint i Win95 og Win98.
MEN det virker ikke ordentligt i Win2000 og WinNT.
Er der nogen, som har en god forklaring på det ??
OG hvad skal jeg gøre specielt ved Win2000 og WinNt ??