W
windtake
Unregistered / Unconfirmed
GUEST, unregistred user!
我的机器在修改了显示器的分辨率之后刷新频率会跳回60,如何在改回
分辨率之后,刷新频率照常。我写了一个程序可以动态修改分辨率却无法得到
原来的刷新频率。。请高手指点。。。
procedure TForm1.Button1Click(Sender: TObject);
var
t:integer;
DeviceMode:tDevicemode;
begin
EnumDisplaySettings(nil, Cardinal(-1), DeviceMode);
t:= DeviceMode.dmDisplayFrequency;
DeviceMode.dmfields:=DM_PELSWIDTH Or DM_PELSHEIGHT;
DeviceMode.dmDisplayFrequency:=75;
DeviceMode.dmpelswidth:=1024;
DeviceMode.dmpelsheight:=768;
ChangeDisplaySettings(DeviceMode,0);
showmessage(inttostr(DeviceMode.dmDisplayFrequency));
end;
procedure TForm1.FormCreate(Sender:TObject);
var
devmode:tDevicemode;
begin
orignwidth:=800;
orignheight:=600;
if screen.width<>orignwidth then begin
if EnumDisplaySettings(nil,0,devmode) then begin
devmode.dmfields:=DM_PELSWIDTH Or DM_PELSHEIGHT;
devmode.dmpelswidth:=orignwidth;//宽度
devmode.dmpelsheight:=orignheight;//高度
ChangeDisplaySettings(devmode,0);//更改设置
end;
end;
end;
分辨率之后,刷新频率照常。我写了一个程序可以动态修改分辨率却无法得到
原来的刷新频率。。请高手指点。。。
procedure TForm1.Button1Click(Sender: TObject);
var
t:integer;
DeviceMode:tDevicemode;
begin
EnumDisplaySettings(nil, Cardinal(-1), DeviceMode);
t:= DeviceMode.dmDisplayFrequency;
DeviceMode.dmfields:=DM_PELSWIDTH Or DM_PELSHEIGHT;
DeviceMode.dmDisplayFrequency:=75;
DeviceMode.dmpelswidth:=1024;
DeviceMode.dmpelsheight:=768;
ChangeDisplaySettings(DeviceMode,0);
showmessage(inttostr(DeviceMode.dmDisplayFrequency));
end;
procedure TForm1.FormCreate(Sender:TObject);
var
devmode:tDevicemode;
begin
orignwidth:=800;
orignheight:=600;
if screen.width<>orignwidth then begin
if EnumDisplaySettings(nil,0,devmode) then begin
devmode.dmfields:=DM_PELSWIDTH Or DM_PELSHEIGHT;
devmode.dmpelswidth:=orignwidth;//宽度
devmode.dmpelsheight:=orignheight;//高度
ChangeDisplaySettings(devmode,0);//更改设置
end;
end;
end;