如何用button调用这个api?
function GetDisplayFrequency: Integer;
var
  DeviceMode: TDeviceMode;begin
  EnumDisplaySettings(nil, Cardinal(-1), DeviceMode);
  Result := DeviceMode.dmDisplayFrequency;
谢谢大人!

解决方案 »

  1.   

    unit Unit1;interfaceuses
      Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
      Dialogs, StdCtrls;type
      TForm1 = class(TForm)
        Button1: TButton;
        procedure Button1Click(Sender: TObject);
      public
        function GetDisplayFrequency: Integer;
      end;var
      Form1: TForm1;implementation{$R *.dfm}function TForm1.GetDisplayFrequency: Integer;
    var
      DeviceMode: TDeviceMode;
    begin
      EnumDisplaySettings(nil, Cardinal(-1), DeviceMode);
      Result := DeviceMode.dmDisplayFrequency;
    end;procedure TForm1.Button1Click(Sender: TObject);
    begin
      ShowMessage ('刷新频率=' + IntToStr(GetDisplayFrequency()));
    end;end.
      

  2.   

    function ChangeDispSet(iFrequency:integer):integer;
    var
      DeviceMode:TDeviceMode;
    begin
       result:=0;
       EnumDisplaySettings(nil,Cardinal(-1), DeviceMode);
       DeviceMode.dmDisplayFrequency:=Cardinal(iFrequency);
       result:=ChangeDisplaySettings(DeviceMode,CDS_UPDATEREGISTRY);
    end;那这个呢?如何调用这个api?好像不一样啊,我是初学者求大人说得详细一点,谢谢了
      

  3.   

    前面一个是得到当前刷新频率
    第二个是改变当前刷新频率ChangeDispSet(75);就是改成75 没试过 大概是这样吧
      

  4.   

    unit Unit1;//Powered by Jadeluo, 2005/05/21interfaceuses
      Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
      Dialogs, StdCtrls;type
      TForm1 = class(TForm)
        Button1: TButton;
        Button2: TButton;
        Label1: TLabel;
        Edit1: TEdit;
        procedure Button1Click(Sender: TObject);
        procedure Button2Click(Sender: TObject);
        procedure FormCreate(Sender: TObject);
      public
        function GetDisplayFrequency: Integer;
        function ChangeDispSet(iFrequency:integer):integer;
      end;var
      Form1: TForm1;implementation{$R *.dfm}function TForm1.GetDisplayFrequency: Integer;
    var
      DeviceMode: TDeviceMode;
    begin
      EnumDisplaySettings(nil, Cardinal(-1), DeviceMode);
      Result := DeviceMode.dmDisplayFrequency;
    end;function TForm1.ChangeDispSet(iFrequency:integer):integer;
    var
      DeviceMode:TDeviceMode;
    begin
      EnumDisplaySettings(nil, Cardinal(-1), DeviceMode);
      DeviceMode.dmDisplayFrequency := Cardinal(iFrequency);
      Result := ChangeDisplaySettings(DeviceMode, CDS_UPDATEREGISTRY);
    end;procedure TForm1.FormCreate(Sender: TObject);
    begin
      Edit1.Text := '60';
    end;procedure TForm1.Button1Click(Sender: TObject);
    begin
      Label1.Caption := '当前的刷新频率为:' + IntToStr(GetDisplayFrequency()) + 'Hz';
    end;procedure TForm1.Button2Click(Sender: TObject);
    begin
      if ChangeDispSet(StrToInt(Edit1.Text)) = 0 then
        ShowMessage ('已经将刷新频率更改为:' + Edit1.Text + 'Hz')
      else
        ShowMessage ('无法设置成刷新频率:' + Edit1.Text + 'Hz');
    end;end.