>

一键切换屏幕分辨率

2016-11-17 by Stavros

现在大家的桌面都是1920x1080或者2560x1440之类高分辨率了。但是有时候还不得不临时调到较低的分辨率,比如遇到需要像素级精确定位的时候,遇到百度网盘或者微信PC版这样字体又小又不能调大的软件的时候,等等。桌面右键然后改分辨率还是太麻烦了,用完了还得改回来。

有没有办法一键切换分辨率呢?没找到现成的工具,自己写一个。程序如下:

#include <windows.h>

int WINAPI WinMain (HINSTANCE hThisInstance, HINSTANCE hPrevInstance,
            LPSTR lpszArgument, int nFunsterStil) 
{ 
    DEVMODE dm;

    EnumDisplaySettings(NULL, ENUM_CURRENT_SETTINGS, &dm);
    if(dm.dmPelsHeight == 1080) {
        dm.dmPelsHeight = 720;
        dm.dmPelsWidth = 1280;
    }
    else {
        dm.dmPelsHeight = 1080;
        dm.dmPelsWidth = 1920; 
    }
    ChangeDisplaySettings(&dm, CDS_RESET);

    return 0;
}

编译成exe,扔到随便什么地方,再拖到任务栏。好了,点一下就可以切到1280x720,再点一下就切回1920x1080了。

在tdm-gcc-32和tdm-gcc-64环境下测试通过。