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 Mysql自动备份脚本
Jul 14 Python
跟老齐学Python之画圈还不简单吗?
Sep 20 Python
Python中的高级数据结构详解
Mar 27 Python
详解Python中的装饰器、闭包和functools的教程
Apr 02 Python
python 实现网上商城,转账,存取款等功能的信用卡系统
Jul 15 Python
python实现list元素按关键字相加减的方法示例
Jun 09 Python
轻松理解Python 中的 descriptor
Sep 15 Python
Python实现合并两个列表的方法分析
May 28 Python
Python 删除整个文本中的空格,并实现按行显示
Jul 24 Python
PyCharm更改字体和界面样式的方法步骤
Sep 27 Python
pytorch 模型的train模式与eval模式实例
Feb 20 Python
python使用pandas抽样训练数据中某个类别实例
Feb 28 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
PHP随机数生成代码与使用实例分析
2011/04/08 PHP
PHP--用万网的接口实现域名查询功能
2012/12/13 PHP
yii上传文件或图片实例
2014/04/01 PHP
php监测数据是否成功插入到Mysql数据库的方法
2016/11/25 PHP
PHP的中使用非缓冲模式查询数据库的方法
2017/02/05 PHP
jquery中的sortable排序之后的保存状态的解决方法
2010/01/28 Javascript
火狐4、谷歌12不支持Jquery Validator的解决方法分享
2011/06/20 Javascript
jQuery写fadeTo示例代码
2014/02/21 Javascript
JS二维数组的定义说明
2014/03/03 Javascript
jscript读写二进制文件的方法
2015/04/22 Javascript
jQuery 插件实现随机自由弹跳气泡样式
2017/01/12 Javascript
js仿网易表单及时验证功能
2017/03/07 Javascript
JavaScript累加、迭代、穷举、递归等常用算法实例小结
2018/05/08 Javascript
webpack 样式加载的实现原理
2018/06/12 Javascript
基于vue实现一个神奇的动态按钮效果
2019/05/15 Javascript
[46:25]DOTA2上海特级锦标赛主赛事日 - 4 败者组第五轮 MVP.Phx VS EG第二局
2016/03/05 DOTA
对于Python装饰器使用的一些建议
2015/06/03 Python
python代码实现ID3决策树算法
2017/12/20 Python
Python 错误和异常代码详解
2018/01/29 Python
批量将ppt转换为pdf的Python代码 只要27行!
2018/02/26 Python
运行django项目指定IP和端口的方法
2018/05/14 Python
django认证系统实现自定义权限管理的方法
2019/08/28 Python
opencv resize图片为正方形尺寸的实现方法
2019/12/26 Python
python实现俄罗斯方块小游戏
2020/04/24 Python
HTML利用九宫格原理进行网页布局
2020/03/13 HTML / CSS
ASOS英国官网:英国在线时装和化妆品零售商
2017/05/19 全球购物
大学应届生求职简历的自我评价
2013/10/08 职场文书
房地产销售计划书
2014/01/10 职场文书
生日寿宴答谢词
2014/01/19 职场文书
上班看电影检讨书
2014/02/12 职场文书
寄语学生的话
2014/04/10 职场文书
2015年财务部工作总结
2015/04/10 职场文书
2015年档案管理员工作总结
2015/05/13 职场文书
《检阅》教学反思
2016/02/22 职场文书
在Java中Collection的一些常用方法总结
2021/06/13 Java/Android
MySQL数据库如何给表设置约束详解
2022/03/13 MySQL