系统分辨率和刷新频率的设置(通过程序)(50分)

  • 主题发起人 飞雪残刀
  • 开始时间

飞雪残刀

Unregistered / Unconfirmed
GUEST, unregistred user!
怎样用api设置系统分辨率和刷新频率?
 
是EnumDisplaySettings() 和ChangeDisplaySettings(),下面这个例子就是了

function DynamicResolution(X, Y: word): BOOL;
var
lpDevMode: TDeviceMode;
begin
Result := EnumDisplaySettings(nil, 0, lpDevMode);
if Result then
begin
lpDevMode.dmFields := DM_PELSWIDTH Or DM_PELSHEIGHT;
lpDevMode.dmPelsWidth := X;
lpDevMode.dmPelsHeight := Y;
Result := ChangeDisplaySettings(lpDevMode, 0) = DISP_CHANGE_SUCCESSFUL;
end
end;

procedure TForm1.Button1Click(Sender: TObject);
begin
if DynamicResolution(640, 480) then

ShowMessage('Now is 640*480');
end;

procedure TForm1.Button2Click(Sender: TObject);
begin
if DynamicResolution(800, 600) then
ShowMessage('Now is 800*600');
end;
 
上述代码只能改变系统分辨率,而不能在修改分辨率后自动把刷新率调整到最高.
能告诉我怎么得到系统在某一分辨率下的所有可调整的刷新频率吗?
 
好像在注册表里面
 
色彩模式怎么改啊?
256改16色真彩的
 
多人接受答案了。
 
顶部