前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Python中设置指定窗口为前台活动窗口(最顶层窗口)win32gui

Python中设置指定窗口为前台活动窗口(最顶层窗口)win32gui

作者头像
forxtz
发布2020-10-10 17:10:02
7.6K0
发布2020-10-10 17:10:02
举报
文章被收录于专栏:源懒由码源懒由码源懒由码

参考链接: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)
本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2020-08-03 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档