python調win32api調整屏幕分辨率


需要頻繁切換屏幕分辨率,想寫個腳本來實現,需要切換時運行一下就好

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

實現代碼如下

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,在我機器上都為拉伸

有了這個腳本,需要改變分辨率時,只需雙擊一下

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM