我想将屏幕的分辨率变为1280×1024
刷新率变为85Hz(屏幕支持)
不知到如何编,请各位大侠指教

解决方案 »

  1.   

    可以用DirectX提供的SetDispalyMode函数
      

  2.   


    DEVMODE m_curDisplayMode;
    EnumDisplaySettings(NULL, ENUM_CURRENT_SETTINGS, &m_curDisplayMode);

    m_curDisplayMode.dmPelsWidth = a[nWhich][0]; // 分辨率 1280
    m_curDisplayMode.dmPelsHeight =a[nWhich][1]; // 分辨率 1024


    LONG lresult = ChangeDisplaySettings(&m_curDisplayMode, CDS_UPDATEREGISTRY);
    if (lresult != DISP_CHANGE_SUCCESSFUL) {
    return ;
    }
      

  3.   

    感谢老前辈但是,我试过以后发现无法调整
    显示器的刷新率。总是60HZ
    我想改为85HZ怎么办?请大侠指教
      

  4.   

    BOOL SetSystemMetrics()
    {
    DEVMODE  lpDevMode; 
    ::EnumDisplaySettings(NULL, ENUM_CURRENT_SETTINGS, &lpDevMode);
    bool  bChanged = FALSE;  
    if(lpDevMode.dmDisplayFrequency != 85)//change    to  85;  
    {  
    lpDevMode.dmDisplayFrequency = 85;    
    result=ChangeDisplaySettingsEx(NULL,&lpDevMode,NULL,CDS_GLOBAL|CDS_UPDATEREGISTRY|CDS_NORESET,NULL);  
    if (result == DISP_CHANGE_SUCCESSFUL)  
    {  
    result =ChangeDisplaySettingsEx(NULL,&lpDevMode,NULL,CDS_UPDATEREGISTRY,NULL);  
    bChanged = TRUE;  
    }  
    else  
    {  
    result=ChangeDisplaySettingsEx(NULL,&lpDevMode,NULL,0,NULL);  
    }   }  
    return bChanged;
    }