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中用get()方法获取字典键值的教程
May 21 Python
python爬虫入门教程--HTML文本的解析库BeautifulSoup(四)
May 25 Python
教你学会使用Python正则表达式
Sep 07 Python
python逆序打印各位数字的方法
Jun 25 Python
Python OpenCV处理图像之图像像素点操作
Jul 10 Python
python文件操作之批量修改文件后缀名的方法
Aug 10 Python
200行python代码实现2048游戏
Jul 17 Python
django之自定义软删除Model的方法
Aug 14 Python
django创建简单的页面响应实例教程
Sep 06 Python
如何用OpenCV -python3实现视频物体追踪
Dec 04 Python
Python 之 Json序列化嵌套类方式
Feb 27 Python
python绘制汉诺塔
Mar 01 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
PHP7.1新功能之Nullable Type用法分析
2016/09/26 PHP
ThinkPHP框架中使用Memcached缓存数据的方法
2018/03/31 PHP
PHP实现数据库的增删查改功能及完整代码
2018/04/18 PHP
laravel-admin 实现在指定的相册下添加照片
2019/10/21 PHP
JS如何判断移动端访问设备并解析对应CSS
2013/11/27 Javascript
seaJs的模块定义和模块加载浅析
2014/06/06 Javascript
js获取日期:昨天今天和明天、后天
2014/06/11 Javascript
Bootstrap插件全集
2016/07/18 Javascript
微信小程序 实战实例开发流程详细介绍
2017/01/05 Javascript
详解angular2封装material2对话框组件
2017/03/03 Javascript
jQuery插件Echarts实现的双轴图效果示例【附demo源码下载】
2017/03/04 Javascript
jquery 实现拖动文件上传加载进度条功能
2018/03/18 jQuery
vue.js轮播图组件使用方法详解
2018/07/03 Javascript
jQuery实现简单复制json对象和json对象集合操作示例
2018/07/09 jQuery
[42:32]VP vs RNG 2019国际邀请赛淘汰赛 败者组 BO3 第一场 8.21.mp4
2020/07/19 DOTA
Python中的连接符(+、+=)示例详解
2017/01/13 Python
使用Python搭建虚拟环境的配置方法
2018/02/28 Python
使用Python实现从各个子文件夹中复制指定文件的方法
2018/10/25 Python
python爬虫模拟浏览器访问-User-Agent过程解析
2019/12/28 Python
在Python IDLE 下调用anaconda中的库教程
2020/03/09 Python
浅谈python3 构造函数和析构函数
2020/03/12 Python
浅谈python 中的 type(), dtype(), astype()的区别
2020/04/09 Python
Python 如何操作 SQLite 数据库
2020/08/17 Python
python二维图制作的实例代码
2020/12/03 Python
Python tkinter之Bind(绑定事件)的使用示例
2021/02/05 Python
CSS3 input框的实现代码类似Google登录的动画效果
2020/08/04 HTML / CSS
SVG实现多彩圆环倒计时效果的示例代码
2017/11/21 HTML / CSS
John Varvatos官方网站:设计师男士时装
2017/02/08 全球购物
《自然之道》教学反思
2014/02/11 职场文书
中学生寄语大全
2014/04/03 职场文书
村党支部书记承诺书
2014/05/29 职场文书
民族团结演讲稿范文
2014/08/27 职场文书
小学工作总结2015
2015/05/04 职场文书
百万英镑观后感
2015/06/09 职场文书
医院消毒隔离制度
2015/08/05 职场文书
JavaScript中MutationObServer监听DOM元素详情
2021/11/27 Javascript