copy<br>动态调整显示器分辨率<br><br> Delphi提供了可以动态改变屏幕分辨率的函数,分别是EnumDisplaySettings()和ChangeDisplaySettings()。有了它们,编程时可以随时改变分辨率以适应要求。下面的CRTReset函数能方便实现这一功能:<br><br> implementation<br><br> function CRTReset(X, Y: Word): Boolean;<br><br> var<br><br> lpDevMode: TDeviceMode;<br><br> begin<br><br> Result:= EnumDisplaySettings(nil, 0, lpDevMode); //获取显示模式<br><br> if Result then begin<br><br> lpDevMode.dmFields := DM_PELSWID<br><br> TH Or DM_PELSHEIGHT;<br><br> lpDevMode.dmPelsWidth := X;<br><br> lpDevMode.dmPelsHeight := Y; //设置屏幕的宽度和高度<br><br> Result:= ChangeDisplaySettings(lpDevMode, 0) = DISP_CHANGE_SUCCESSFUL;<br><br> //改变屏幕分辨率并返回成功与否<br><br> end;<br><br> end;<br><br> procedure TForm1.Button1Click(Sender: TObject);<br><br> begin<br><br> if CRTReset(800, 600) then ShowMessage('Now is 800*600'); //调用函数,设置分辨率为800×600<br><br> end;<br>