Python如何設(shè)置指定窗口為前臺(tái)活動(dòng)窗口
Python程序運(yùn)行時(shí),打開了多個(gè)窗口,使用win32gui模塊可以設(shè)置指定的某一個(gè)窗口為當(dāng)前活動(dòng)窗口。
import re, timeimport webbrowserimport win32gui, win32con, win32com.client def _window_enum_callback(hwnd, wildcard): ’’’ Pass to win32gui.EnumWindows() to check all the opened windows 把想要置頂?shù)拇翱诜诺阶钋懊妫⒆畲蠡? ’’’ if re.match(wildcard, str(win32gui.GetWindowText(hwnd))) is not None: win32gui.BringWindowToTop(hwnd) # 先發(fā)送一個(gè)alt事件,否則會(huì)報(bào)錯(cuò)導(dǎo)致后面的設(shè)置無效:pywintypes.error: (0, ’SetForegroundWindow’, ’No error message is available’) shell = win32com.client.Dispatch('WScript.Shell') shell.SendKeys(’%’) # 設(shè)置為當(dāng)前活動(dòng)窗口 win32gui.SetForegroundWindow(hwnd) # 最大化窗口 win32gui.ShowWindow(hwnd, win32con.SW_MAXIMIZE) if __name__ == ’__main__’: webbrowser.open('https://www.baidu.com/') time.sleep(1) win32gui.EnumWindows(_window_enum_callback, '.*%s.*' % config.window_name)#此處為你要設(shè)置的活動(dòng)窗口名
說明一點(diǎn):
有人會(huì)遇到這個(gè)錯(cuò)誤(好吧,我也遇到了):
pywintypes.error: (0, ’SetForegroundWindow’, ’No error message is available’)
Stack Overflow上的解決方法是添加如下代碼:
shell = win32com.client.Dispatch('WScript.Shell')shell.SendKeys(’%’)
即先發(fā)送一個(gè)alt key事件,這個(gè)錯(cuò)誤就會(huì)避免,后面的設(shè)置才會(huì)有效。
鏈接地址:
https://stackoverflow.com/questions/14295337/win32gui-setactivewindow-error-the-specified-procedure-could-not-be-found
以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持好吧啦網(wǎng)。
相關(guān)文章:
1. ASP實(shí)現(xiàn)加法驗(yàn)證碼2. 無線標(biāo)記語言(WML)基礎(chǔ)之WMLScript 基礎(chǔ)第1/2頁3. ASP刪除img標(biāo)簽的style屬性只保留src的正則函數(shù)4. PHP循環(huán)與分支知識(shí)點(diǎn)梳理5. ASP基礎(chǔ)入門第三篇(ASP腳本基礎(chǔ))6. 利用CSS3新特性創(chuàng)建透明邊框三角7. 解析原生JS getComputedStyle8. css代碼優(yōu)化的12個(gè)技巧9. 前端從瀏覽器的渲染到性能優(yōu)化10. 讀大數(shù)據(jù)量的XML文件的讀取問題
