如何锁定刷新频率,进入游戏也不改变。

解决方案 »

  1.   

    //更改刷新率,成功调试
    //Return values for ChangeDisplaySettings
    // DISP_CHANGE_SUCCESSFUL          = 0;
    //  DISP_CHANGE_RESTART             = 1;
    //  DISP_CHANGE_FAILED              = -1;
    //  DISP_CHANGE_BADMODE             = -2;
    //  DISP_CHANGE_NOTUPDATED          = -3;
    //  DISP_CHANGE_BADFLAGS            = -4;
    //  DISP_CHANGE_BADPARAM            = -5;function ChangeDisplayFrequency(dwFrequency:DWORD): LongInt;
    var
      DeviceMode: TDeviceMode;
    begin
      EnumDisplaySettings(nil,Cardinal(-1), DeviceMode);
      DeviceMode.dmDisplayFrequency := dwFrequency;
      Result := ChangeDisplaySettings(DeviceMode,CDS_UPDATEREGISTRY);
    end;//得到刷新率
    function GetDisplayFrequency: DWORD;
    var
     DeviceMode: TDeviceMode;
    begin
      EnumDisplaySettings(nil, Cardinal(-1), DeviceMode);
      Result := DeviceMode.dmDisplayFrequency;
    end;//改变系统分辨率
    function Resolution(X,Y:DWORD):LongInt;
    var
    DevMode:TDeviceMode;
    begin
      if EnumDisplaySettings(nil,0,DevMode) then
       begin
        DevMode.dmFields:=DM_PELSWIDTH Or DM_PELSHEIGHT;
        DevMode.dmPelsWidth:=X;
        DevMode.dmPelsHeight:=Y;
        Result:=ChangeDisplaySettings(DevMode,0);
      end
      else //非法的失败
        Result := -1;
    end;
      

  2.   

    HKEY_CURRENT_CONFIG\System\CurrentControlSet\SERVICES\I81X\DEVICE0\Mon80861000\
    DefaultSettings.VRefresh
    修改它就是了。