首页 > 代码库 > python调win32api调整屏幕分辨率

python调win32api调整屏幕分辨率

需要频繁切换屏幕分辨率,想写个脚本来实现,需要切换时运行一下就好

在网上查到,需要用windows的api,ChangeDisplaySettings 

实现代码如下

import win32apidm = win32api.EnumDisplaySettings(None, 0)dm.PelsHeight = 720dm.PelsWidth = 1280dm.BitsPerPel = 32dm.DisplayFixedOutput = 0win32api.ChangeDisplaySettings(dm, 0)

其中,一开始没有设置DisplayFixedOutput的值,在我机器上的效果是,切到小分辨率时,屏幕只在中间一小块,而在系统中调整时,是可以拉伸的,后来才找到是这个值在起作用

MSDN上的解释为

ValueMeaning 
DMDFO_DEFAULTThe display‘s default setting.#define DMDFO_DEFAULT   0
DMDFO_CENTERThe low-resolution image is centered in the larger screen space.#define DMDFO_CENTER    2
DMDFO_STRETCHThe low-resolution image is stretched to fill the larger screen space. #define DMDFO_STRETCH   1

将值设为1,或者0,在我机器上都为拉伸

有了这个脚本,需要改变分辨率时,只需双击一下

 

python调win32api调整屏幕分辨率