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中不同进制互相转换(二进制、八进制、十进制和十六进制)
Apr 05 Python
Python OpenCV实现图片上输出中文
Jan 22 Python
便捷提取python导入包的属性方法
Oct 15 Python
Django+JS 实现点击头像即可更改头像的方法示例
Dec 26 Python
Python根据欧拉角求旋转矩阵的实例
Jan 28 Python
python SocketServer源码深入解读
Sep 17 Python
Python 实现自动获取种子磁力链接方式
Jan 16 Python
Django choices下拉列表绑定实例
Mar 13 Python
基于Python实现视频的人脸融合功能
Jun 12 Python
Keras官方中文文档:性能评估Metrices详解
Jun 15 Python
python中round函数如何使用
Jun 19 Python
python实现录制全屏和选择区域录屏功能
Feb 05 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+jquery实时显示网站在线人数的方法
2015/01/04 PHP
微信公众平台开发之配置与请求
2015/08/26 PHP
php读取本地json文件的实例
2018/03/07 PHP
PHP实现的无限分类类库定义与用法示例【基于thinkPHP】
2018/08/06 PHP
用jquery和json从后台获得数据集的代码
2011/11/07 Javascript
将list转换为json失败的原因
2013/12/17 Javascript
javascript中数组的多种定义方法和常用函数简介
2014/05/09 Javascript
简单方法判断JavaScript对象为null或者属性为空
2014/09/26 Javascript
Node.js中使用mongoskin操作mongoDB实例
2014/09/28 Javascript
jquery ui bootstrap 实现自定义风格
2014/11/14 Javascript
JQuery实现样式设置、追加、移除与切换的方法
2015/06/11 Javascript
JS实现的自定义网页拖动类
2015/11/06 Javascript
微信小程序 列表的上拉加载和下拉刷新的实现
2017/04/01 Javascript
Angular实现的日程表功能【可添加及隐藏显示内容】
2017/12/27 Javascript
简单了解JavaScript作用域
2020/07/31 Javascript
vue抽出组件并传值实例
2020/07/31 Javascript
JavaScript事件委托实现原理及优点进行
2020/08/29 Javascript
NodeJS开发人员常见五个错误理解
2020/10/14 NodeJs
python中将阿拉伯数字转换成中文的实现代码
2011/05/19 Python
Python的for和break循环结构中使用else语句的技巧
2016/05/24 Python
python基于pyDes库实现des加密的方法
2017/04/29 Python
python学习教程之Numpy和Pandas的使用
2017/09/11 Python
python实现统计文本中单词出现的频率详解
2019/05/20 Python
Win10环境python3.7安装dlib模块趟过的坑
2019/08/01 Python
python yield关键词案例测试
2019/10/15 Python
Python下应用opencv 实现人脸检测功能
2019/10/24 Python
Python Des加密解密如何实现软件注册码机器码
2020/01/08 Python
python实现快速文件格式批量转换的方法
2020/10/16 Python
css3 实现滚动条美化效果的实例代码
2021/01/06 HTML / CSS
老板电器官方购物商城:老板油烟机、燃气灶、消毒柜、电烤箱
2018/05/30 全球购物
同程旅游英文网站:LY.com
2018/11/13 全球购物
世界领先的豪华床上用品供应商之一:Bedeck Home
2019/03/18 全球购物
什么是Linux虚拟文件系统VFS
2012/01/31 面试题
介绍一下SOA和SOA的基本特征
2016/02/24 面试题
节电标语大全
2014/06/23 职场文书
教师节感谢信
2015/01/22 职场文书