Python實(shí)現(xiàn)設(shè)置顯示屏分辨率
工具安裝
主要調(diào)用win32庫(kù)實(shí)現(xiàn)分辨率獲取和讀寫,需要安裝pywin32
示例中是從execl列表中讀取需要設(shè)置的分辨率,需要安裝xlrd
用到的execl分辨率列表如下:
pip install pywin32 pip install xlrd
完整腳本
import win32api,win32con,time,xlrd """ Author:NoamaNelson Date:2019-11-26 Discription:Python sets the resolution of Windows computer graphics card and obtains the resolution """ book1 = xlrd.open_workbook('常見分辨率.xlsx') # 打開表格 q = book1.sheet_by_index(0) # 使用索引的方式獲取sheet1工作簿 i = 0 while(i<=5): print("第%d次設(shè)置"%i) mwidth = str(q.cell_value(i+1,0)) # 獲取單元格中的值 nwidth = mwidth.split(".")[0] # 獲取的值為float,轉(zhuǎn)換成字符串然后進(jìn)行分割取整 WidthSet = int(nwidth) # 從表格中獲取的分辨率寬的值 #print(WidthSet) mhigth = str(q.cell_value(i+1,1)) # 獲取單元格中的值 nhigth = mhigth.split(".")[0] # 獲取的值為float,轉(zhuǎn)換成字符串然后進(jìn)行分割取整 HeightSet = int(nhigth) # 從表格中獲取的分辨率寬的值 #print(HeightSet) ResoLutionSet = win32api.EnumDisplaySettings(None, 0) # 調(diào)用win32api接口,獲取顯示設(shè)備信息 ResoLutionSet.PelsHeight = HeightSet # 設(shè)置分辨率高 ResoLutionSet.PelsWidth = WidthSet # 設(shè)置分辨率寬 print("設(shè)置的分辨率寬: %d, 設(shè)置的分辨率高: %d, 即設(shè)置的分辨率為:%d x %d" % (WidthSet, HeightSet, WidthSet, HeightSet)) ResoLutionSet.BitsPerPel = 32 # 顯示設(shè)備的顏色分辨率 ResoLutionSet.DisplayFixedOutput = 2 # 設(shè)置分辨率后拉伸畫面,否則切換到小分辨率時(shí),屏幕只在中間一小塊 if (win32api.ChangeDisplaySettings(ResoLutionSet, 0)) == 0: # DISP_CHANGE_SUCCESSFUL win32api.ChangeDisplaySettings(ResoLutionSet, 0) # 設(shè)置生效 else: win32api.ChangeDisplaySettings(None, 0) # 恢復(fù)默認(rèn) screenNum = win32api.GetSystemMetrics(win32con.SM_CMONITORS) print("顯示設(shè)備的總數(shù)量為: %d" % screenNum) aScreenWidth = win32api.GetSystemMetrics(win32con.SM_CXVIRTUALSCREEN) aScreenHeight = win32api.GetSystemMetrics(win32con.SM_CYVIRTUALSCREEN) print("當(dāng)前屏幕總的分辨率為:%d × %d " % (aScreenWidth, aScreenHeight)) WidthGet = win32api.GetSystemMetrics(win32con.SM_CXSCREEN) # 獲得屏幕分辨率X軸 HeightGet = win32api.GetSystemMetrics(win32con.SM_CYSCREEN) # 獲得屏幕分辨率Y軸 print ("獲取的分辨率寬: %d, 獲取的分辨率高: %d, 即獲取的分辨率為:%d x %d" % (WidthGet, HeightGet, WidthGet, HeightGet)) time.sleep(3) i += 1
輸出的結(jié)果
存在的問題
目前使用這種方式,只能設(shè)置顯卡列表支持的分辨率,不支持自定義分辨率。不知道有什么更好的方式,有知道的大牛給指導(dǎo)下。
到此這篇關(guān)于Python實(shí)現(xiàn)設(shè)置顯示屏分辨率的文章就介紹到這了,更多相關(guān)Python設(shè)置顯示屏分辨率內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
Django的HttpRequest和HttpResponse對(duì)象詳解
這篇文章主要介紹了Django的HttpRequest和HttpResponse對(duì)象,分享了相關(guān)代碼示例,小編覺得還是挺不錯(cuò)的,具有一定借鑒價(jià)值,需要的朋友可以參考下2018-01-01python處理數(shù)據(jù),存進(jìn)hive表的方法
今天小編就為大家分享一篇python處理數(shù)據(jù),存進(jìn)hive表的方法,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧2018-07-07如何使用Python標(biāo)準(zhǔn)庫(kù)進(jìn)行性能測(cè)試
這篇文章主要為大家詳細(xì)介紹了如何使用Python標(biāo)準(zhǔn)庫(kù)進(jìn)行性能測(cè)試,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2019-06-06全面了解Python的getattr(),setattr(),delattr(),hasattr()
下面小編就為大家?guī)?lái)一篇全面了解Python的getattr(),setattr(),delattr(),hasattr()。小編覺得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧2016-06-06關(guān)于Numpy數(shù)據(jù)類型對(duì)象(dtype)使用詳解
今天小編就為大家分享一篇關(guān)于Numpy數(shù)據(jù)類型對(duì)象(dtype)使用詳解,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧2019-11-11python 基于Appium控制多設(shè)備并行執(zhí)行
這篇文章主要介紹了python 如何基于Appium控制多設(shè)備并行執(zhí)行,幫助大家更好的理解和學(xué)習(xí)使用python,感興趣的朋友可以了解下2021-03-03Python pandas 列轉(zhuǎn)行操作詳解(類似hive中explode方法)
這篇文章主要介紹了Python pandas 列轉(zhuǎn)行操作詳解(類似hive中explode方法),具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧2020-05-05