Python中设置指定窗口为前台活动窗口(最顶层窗口)win32gui
Posted forxtz
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Python中设置指定窗口为前台活动窗口(最顶层窗口)win32gui相关的知识,希望对你有一定的参考价值。
参考链接:Python中设置指定窗口为前台活动窗口(最顶层窗口)win32gui: https://blog.csdn.net/bailichun19901111/article/details/105042145
Win32 API之EnumWindows详解: http://blog.sina.com.cn/s/blog_e5f00a490101w1yc.html
测试1:SetForegroundWindow修改活动。
# # 输出当前活动窗体句柄 # def print_GetForegroundWindow(): hwnd_active = win32gui.GetForegroundWindow() print(\'hwnd_active hwnd:\',hwnd_active) print(\'hwnd_active text:\',win32gui.GetWindowText(hwnd_active)) print(\'hwnd_active class:\',win32gui.GetClassName(hwnd_active))
# 输出当前活动窗口句柄 print_GetForegroundWindow() print(\'------------------------------------------\') # 设置TIM为活动窗口 shell = win32com.client.Dispatch("WScript.Shell") shell.SendKeys(\'%\') win32gui.SetForegroundWindow(win32gui.FindWindow("TXGuiFoundation","TIM")) # 查看是否修改 print_GetForegroundWindow()
输出结果已经修改,但是设置得窗体并不会突出到最前端。这样对于pyautogui来说,是无法操作,因此还需要改进放到最前。
最终结果,可以将置顶窗体置顶最前,且激活。
# 输出当前活动窗口句柄 print_GetForegroundWindow() print(\'------------------------------------------\') # 设置TIM为活动窗口 shell = win32com.client.Dispatch("WScript.Shell") shell.SendKeys(\'%\') win32gui.SetForegroundWindow(win32gui.FindWindow("TXGuiFoundation","TIM")) # 查看是否修改 print_GetForegroundWindow() # 加上显示到最前端,这里使用 SW_SHOW,用参考链接中得max有时会导致窗体不可点击 win32gui.ShowWindow(win32gui.FindWindow("TXGuiFoundation","TIM"), win32con.SW_SHOW)
以上是关于Python中设置指定窗口为前台活动窗口(最顶层窗口)win32gui的主要内容,如果未能解决你的问题,请参考以下文章