Python如何设置指定窗口为前台活动窗口


Posted in Python onAugust 12, 2020

Python程序运行时,打开了多个窗口,使用win32gui模块可以设置指定的某一个窗口为当前活动窗口。

import re, time
import webbrowser
import win32gui, win32con, win32com.client
 
 
def _window_enum_callback(hwnd, wildcard):
  '''
  Pass to win32gui.EnumWindows() to check all the opened windows
  把想要置顶的窗口放到最前面,并最大化
  '''
  if re.match(wildcard, str(win32gui.GetWindowText(hwnd))) is not None:
    win32gui.BringWindowToTop(hwnd)
    # 先发送一个alt事件,否则会报错导致后面的设置无效:pywintypes.error: (0, 'SetForegroundWindow', 'No error message is available')
    shell = win32com.client.Dispatch("WScript.Shell")
    shell.SendKeys('%')
    # 设置为当前活动窗口
    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)#此处为你要设置的活动窗口名

说明一点:

有人会遇到这个错误(好吧,我也遇到了):

pywintypes.error: (0, 'SetForegroundWindow', 'No error message is available')

Stack Overflow上的解决方法是添加如下代码:

shell = win32com.client.Dispatch("WScript.Shell")
shell.SendKeys('%')

即先发送一个alt key事件,这个错误就会避免,后面的设置才会有效。

链接地址:

https://stackoverflow.com/questions/14295337/win32gui-setactivewindow-error-the-specified-procedure-could-not-be-found

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

Python 相关文章推荐
Python使用django获取用户IP地址的方法
May 11 Python
python Django框架实现自定义表单提交
Mar 25 Python
Centos Python2 升级到Python3的简单实现
Jun 21 Python
Python实现字典去除重复的方法示例
Jul 31 Python
python实现画圆功能
Jan 25 Python
基于Python socket的端口扫描程序实例代码
Feb 09 Python
Django框架会话技术实例分析【Cookie与Session】
May 24 Python
Python阶乘求和的代码详解
Feb 14 Python
python数据库编程 ODBC方式实现通讯录
Mar 27 Python
django restframework serializer 增加自定义字段操作
Jul 15 Python
Python Request类源码实现方法及原理解析
Aug 17 Python
Python创建简单的神经网络实例讲解
Jan 04 Python
Python面向对象实现方法总结
Aug 12 #Python
Python命名空间及作用域原理实例解析
Aug 12 #Python
python将字典内容写入json文件的实例代码
Aug 12 #Python
Python调用jar包方法实现过程解析
Aug 11 #Python
如何用python免费看美剧
Aug 11 #Python
Pythonic版二分查找实现过程原理解析
Aug 11 #Python
Python3合并两个有序数组代码实例
Aug 11 #Python
You might like
网页上facebook分享功能具体实现
2014/01/26 PHP
PHP isset empty函数相关面试题及解析
2020/12/11 PHP
document.all还是document.getElementsByName?
2006/07/21 Javascript
Javascript hasOwnProperty 方法 & in 关键字
2008/11/26 Javascript
很全的显示阴历(农历)日期的js代码
2009/01/01 Javascript
javascript实现判断鼠标的状态
2015/07/10 Javascript
微信JSSDK上传图片
2015/08/23 Javascript
jQuery实现的Tab滑动选项卡及图片切换(多种效果)小结
2015/09/14 Javascript
详解JavaScript基于面向对象之创建对象(2)
2015/12/10 Javascript
JavaScript中自带的 reduce()方法使用示例详解
2016/08/10 Javascript
jQuery实现简单的滑动导航代码(移动端)
2017/05/22 jQuery
微信小程序getPhoneNumber获取用户手机号
2017/09/29 Javascript
AngularJS 事件发布机制
2018/08/28 Javascript
vue父组件给子组件的组件传值provide inject的方法
2019/10/23 Javascript
angular组件间通讯的实现方法示例
2020/05/07 Javascript
在vue中使用el-tab-pane v-show/v-if无效的解决
2020/08/03 Javascript
Openlayers学习之地图比例尺控件
2020/09/28 Javascript
[03:41]DOTA2上海特锦赛小组赛第三日recap精彩回顾
2016/02/28 DOTA
详解python之简单主机批量管理工具
2017/01/27 Python
Windows下Python2与Python3两个版本共存的方法详解
2017/02/12 Python
Python使用PDFMiner解析PDF代码实例
2017/03/27 Python
对python append 与浅拷贝的实例讲解
2018/05/04 Python
使用EduBlock轻松学习Python编程
2018/10/08 Python
Python 3.8新特征之asyncio REPL
2019/05/28 Python
最新PyCharm从安装到PyCharm永久激活再到PyCharm官方中文汉化详细教程
2020/11/17 Python
Python读取pdf表格写入excel的方法
2021/01/22 Python
Pyecharts 中Geo函数常用参数的用法说明
2021/02/01 Python
Html5如何唤起百度地图App的方法
2019/01/27 HTML / CSS
资料员的岗位职责
2013/11/20 职场文书
总经理秘书的岗位职责
2013/12/27 职场文书
建筑经济管理专业求职信分享
2014/01/06 职场文书
小学国庆节活动方案策划书
2014/09/16 职场文书
大学生档案自我鉴定(2篇)
2014/10/14 职场文书
2015年度村委会工作总结
2015/04/29 职场文书
Django+Celery实现定时任务的示例
2021/06/23 Python
Nginx的gzip相关介绍
2022/05/11 Servers