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遍历文件夹找出文件夹后缀为py的文件方法
Oct 21 Python
使用Django连接Mysql数据库步骤
Jan 15 Python
pandas.DataFrame的pivot()和unstack()实现行转列
Jul 06 Python
django mysql数据库及图片上传接口详解
Jul 18 Python
Pycharm 文件更改目录后,执行路径未更新的解决方法
Jul 19 Python
python 生成器和迭代器的原理解析
Oct 12 Python
python获取全国城市pm2.5、臭氧等空气质量过程解析
Oct 12 Python
Django添加bootstrap框架时无法加载静态文件的解决方式
Mar 27 Python
Python 将 QQ 好友头像生成祝福语的实现代码
May 03 Python
TensorFlow中tf.batch_matmul()的用法
Jun 02 Python
详解Python flask的前后端交互
Mar 31 Python
Python实现科学占卜 让视频自动打码
Apr 09 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
打造计数器DIY三步曲(中)
2006/10/09 PHP
一个简单的PHP&MYSQL留言板源码
2020/07/19 PHP
jquery+php+ajax显示上传进度的多图片上传并生成缩略图代码
2014/10/15 PHP
使用PHP处理数据库数据如何将数据返回客户端并显示当前状态
2016/02/16 PHP
php实现在站点里面添加邮件发送的功能
2020/04/28 PHP
yii2安装详细流程
2018/05/23 PHP
判断是否输入完毕再激活提交按钮
2006/06/26 Javascript
JS上传前预览图片实例
2013/03/25 Javascript
在Iframe中获取父窗口中表单的值(示例代码)
2013/11/22 Javascript
JQuery1.8 判断元素是否绑定事件的方法
2014/07/10 Javascript
jQuery淡入淡出元素让其效果更为生动
2014/09/01 Javascript
Windows系统下使用Sublime搭建nodejs环境
2015/04/13 NodeJs
详解React native全局变量的使用(跨组件的通信)
2017/09/07 Javascript
prototype.js简单实现ajax功能示例
2017/10/18 Javascript
浅析vue深复制
2018/01/29 Javascript
vue2.0页面前进刷新回退不刷新的实现方法
2018/07/31 Javascript
js实现动态增加文件域表单功能
2018/10/22 Javascript
vue路由切换之淡入淡出的简单实现
2019/10/31 Javascript
Node.js中文件系统fs模块的使用及常用接口
2020/03/06 Javascript
[34:47]完美世界DOTA2联赛PWL S2 Magma vs LBZS 第一场 11.18
2020/11/18 DOTA
Python命名空间详解
2014/08/18 Python
python cx_Oracle模块的安装和使用详细介绍
2017/02/13 Python
高效测试用例组织算法pairwise之Python实现方法
2017/07/19 Python
如何在python中写hive脚本
2019/11/08 Python
python抓取多种类型的页面方法实例
2019/11/20 Python
40行Python代码实现天气预报和每日鸡汤推送功能
2020/02/27 Python
django执行原始查询sql,并返回Dict字典例子
2020/04/01 Python
Linux文件系统类型
2012/09/16 面试题
致1500米运动员广播稿
2014/02/07 职场文书
个人安全生产承诺书
2014/05/22 职场文书
感恩老师演讲稿600字
2014/08/28 职场文书
优秀教师先进材料
2014/12/16 职场文书
党风廉政建设调研报告
2015/01/01 职场文书
2015年政治教研组工作总结
2015/07/22 职场文书
Python下opencv使用hough变换检测直线与圆
2021/06/18 Python
CSS3 Tab动画实例之背景切换动态效果
2021/08/23 HTML / CSS