|
|
|
<FONT size=2>动态修改显示器分辨率 <BR>Windows提供给我们两个API函数,可以动态调整显示器的分辨率,他们是EnumDisplaySettings() 和ChangeDisplaySettings(),下面这个例子演示了在两中分辨率之间的变换,并且可以不用重新启动计算机: <BR>function DynamicResolution(X, Y: word): BOOL; <BR>var <BR>lpDevMode: TDeviceMode; <BR>begin <BR>Result := EnumDisplaySettings(nil, 0, lpDevMode); <BR>if Result then <BR>begin <BR>lpDevMode.dmFields := DM_PELSWIDTH Or DM_PELSHEIGHT; <BR>lpDevMode.dmPelsWidth := X; <BR>lpDevMode.dmPelsHeight := Y; <BR>Result := ChangeDisplaySettings(lpDevMode, 0) = DISP_CHANGE_SUCCESSFUL; <BR>end <BR>end; <BR>procedure TForm1.Button1Click(Sender: Tobject); <BR>begin <BR>if DynamicResolution(640, 480) then <BR>ShowMessage('Now is 640*480'); <BR>end; <BR>procedure TForm1.Button2Click(Sender: Tobject); <BR>begin <BR>if DynamicResolution(800, 600) then <BR>ShowMessage('Now is 800*600'); <BR>end; </FONT><BR><BR> |
|