unit1.~pas

来自「用DELPHI来实现设置显示器分别率 用DELPHI来实现设置显示器分别率」· ~PAS 代码 · 共 67 行

~PAS
67
字号
unit Unit1;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, StdCtrls, ShellApi;

type
  TForm1 = class(TForm)
    Button1: TButton;
    Button2: TButton;
    procedure Button1Click(Sender: TObject);
    procedure Button2Click(Sender: TObject);
  private
    { Private declarations }
  public
    { Public declarations }
  end;

var
  Form1: TForm1;
  ScreenBL_H,ScreenBL_V:Double;

implementation

{$R *.dfm}

procedure TForm1.Button1Click(Sender: TObject);
var
 lpDevMode:TDeviceMode;
 Result:Bool;
begin
Result := EnumDisplaySettings(nil, 0, lpDevMode);
if Result then
    begin
    //lpDevMode.dmFields := DM_PELSWIDTH Or DM_PELSHEIGHT;
    lpDevMode.dmFields:=DM_PELSWIDTH or DM_PELSHEIGHT or DM_DISPLAYFREQUENCY;
    lpDevMode.dmPelsWidth := 1152;
    lpDevMode.dmPelsHeight := 864;
     lpDevMode.dmDisplayFlags:=DM_DISPLAYFREQUENCY;
    lpDevMode.dmDisplayFrequency:=85;
    //Result := ChangeDisplaySettings(lpDevMode, 0) = DISP_CHANGE_SUCCESSFUL;
     ChangeDisplaySettings(lpDevMode, CDS_UPDATEREGISTRY);
   end;
end;


procedure TForm1.Button2Click(Sender: TObject);
var
 lpDevMode:TDeviceMode;
 Result:Bool;
begin
Result := EnumDisplaySettings(nil, 0, lpDevMode);
if Result then
    begin
    lpDevMode.dmFields := DM_PELSWIDTH Or DM_PELSHEIGHT or DM_DISPLAYFREQUENCY;
    lpDevMode.dmPelsWidth := 1024;
    lpDevMode.dmPelsHeight := 768;
     lpDevMode.dmDisplayFlags:=DM_DISPLAYFREQUENCY;
    lpDevMode.dmDisplayFrequency:=85;
    ChangeDisplaySettings(lpDevMode, CDS_UPDATEREGISTRY);
   end;
end;

end.

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?