如何控制显示器的刷新率(50分)

  • 主题发起人 主题发起人 战云
  • 开始时间 开始时间

战云

Unregistered / Unconfirmed
GUEST, unregistred user!
我在用阿API函数改变分辩率时,刷新率总是60?
 
用GetDeviceCaps函数
var
i:integer ;
begin
i:=GetDeviceCaps(GetDC(Handle),VREFRESH);
ShowMessage(inttostr(i));
end;

改变分辨率请使用下面的函数ChangeDisplaySettings
var
lpDevMode:TDEVMODE;
begin
lpDevMode.dmFields:=DM_DISPLAYFREQUENCY;
lpDevMode.dmDisplayFrequency:=85;
ChangeDisplaySettings(lpDevMode,0);
end;

function GetDisplayFrequency: Integer;//得到刷新率
var
DeviceMode: TDeviceMode;
begin
EnumDisplaySettings(nil, Cardinal(-1), DeviceMode);
Result := DeviceMode.dmDisplayFrequency;
end;

procedure ChangeDisplayFrequency(iFrequency:Integer);//更改刷新率,在Win2000下成功
var
DeviceMode: TDeviceMode;
begin
EnumDisplaySettings(nil,Cardinal(-1), DeviceMode);
DeviceMode.dmDisplayFrequency:=Cardinal(iFrequency);
ChangeDisplaySettings(DeviceMode,CDS_UPDATEREGISTRY);
end;
 
接受答案了.
 
后退
顶部