请问如何得到显示器的分辨率

解决方案 »

  1.   

    procedure TForm1.Button1Click(Sender: TObject);
    var x,y:longint;
    begin
      x := Screen.Width;
      y := Screen.Height;
      ShowMessage('显示器水平区域:'+IntToStr(x));
      ShowMessage('显示器垂直区域:'+IntToStr(y));
    end;
    或者
    procedure TForm1.Button2Click(Sender: TObject);
    var x,y:longint;
    begin
      x := GetSystemMetrics(SM_CXSCREEN);
      y := GetSystemMetrics(SM_CYSCREEN);
      ShowMessage('显示器水平区域:'+IntToStr(x));
      ShowMessage('显示器垂直区域:'+IntToStr(y));
    end;
      

  2.   

    function TForm1.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, CDS_UPDATEREGISTRY) = DISP_CHANGE_SUCCESSFUL;