python调win32api调整屏幕分辨率

2016年3月29日 发表评论 阅读评论

在windows下想要通过python写的程序,需要调用到调整屏幕分辨率。在网上查到,需要用windows的api,ChangeDisplaySettings 。在python下使用,需要先安装 pywin32程序,具体实现代码非常简单,如下:

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

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

MSDN上的解释为

Value Meaning  
DMDFO_DEFAULT The display's default setting. #define DMDFO_DEFAULT   0
DMDFO_CENTER The low-resolution image is centered in the larger screen space. #define DMDFO_CENTER    2
DMDFO_STRETCH The low-resolution image is stretched to fill the larger screen space. #define DMDFO_STRETCH   1

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




本站的发展离不开您的资助,金额随意,欢迎来赏!

You can donate through PayPal.
My paypal id: itybku@139.com
Paypal page: https://www.paypal.me/361way

  1. 本文目前尚无任何评论.
  1. 本文目前尚无任何 trackbacks 和 pingbacks.