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中用Ctrl+C终止多线程程序的问题解决
Mar 30 Python
介绍Python中的__future__模块
Apr 27 Python
Python基于二分查找实现求整数平方根的方法
May 12 Python
用Python3创建httpServer的简单方法
Jun 04 Python
python-itchat 获取微信群用户信息的实例
Feb 21 Python
PyQt5的PyQtGraph实践系列3之实时数据更新绘制图形
May 13 Python
python使用 zip 同时迭代多个序列示例
Jul 06 Python
flask框架路由常用定义方式总结
Jul 23 Python
pip 安装库比较慢的解决方法(国内镜像)
Oct 06 Python
python 子类调用父类的构造函数实例
Mar 12 Python
Python 字节流,字符串,十六进制相互转换实例(binascii,bytes)
May 11 Python
Python xlrd/xlwt 创建excel文件及常用操作
Sep 24 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.ini中添加extension=php_mysqli.dll指令的说明
2007/06/14 PHP
php生成N个不重复的随机数实例
2013/11/12 PHP
php检测url是否存在的方法
2015/04/14 PHP
浅谈PHP Cookie处理函数
2016/06/10 PHP
使用户点击后退按钮使效三行代码
2007/07/07 Javascript
Input 特殊事件onpopertychange和oninput
2009/06/17 Javascript
广泛收集的jQuery拖放插件集合
2012/04/09 Javascript
Javascript生成json的函数代码(可以用php的json_decode解码)
2012/06/11 Javascript
浅析js中的浮点型运算问题
2014/01/06 Javascript
什么是Node.js?Node.js详细介绍
2014/06/01 Javascript
js读取json的两种常用方法示例介绍
2014/10/19 Javascript
有关jquery与DOM节点操作方法和属性记录
2016/04/15 Javascript
js实现的页面加载完毕之前loading提示效果完整示例【附demo源码下载】
2016/08/02 Javascript
如何使用Bootstrap 按钮实例详解
2017/03/29 Javascript
微信小程序 引入es6 promise
2017/04/12 Javascript
promise处理多个相互依赖的异步请求(实例讲解)
2017/08/03 Javascript
jQuery Ajax向服务端传递数组参数值的实例代码
2017/09/03 jQuery
vue微信分享 vue实现当前页面分享其他页面
2017/12/02 Javascript
Auto.js自动收取自己和好友蚂蚁森林能量脚本
2018/06/28 Javascript
详解nodejs 配置文件处理方案
2019/01/02 NodeJs
你了解vue3.0响应式数据怎么实现吗
2019/06/07 Javascript
微信小程序new Date()方法失效问题解决方法
2019/07/29 Javascript
教你如何在Django 1.6中正确使用 Signal
2014/06/22 Python
Django如何实现内容缓存示例详解
2017/09/24 Python
普通大学毕业生自荐信
2013/11/04 职场文书
幼儿园教师奖惩制度
2014/02/01 职场文书
应届毕业生如何写求职信
2014/02/16 职场文书
《童年》教学反思
2014/02/18 职场文书
《搭石》教学反思
2014/04/07 职场文书
环保建议书400字
2014/05/14 职场文书
小学语文教学经验交流材料
2014/06/02 职场文书
四川省传达学习贯彻党的群众路线教育实践活动总结大会精神新闻稿
2014/10/26 职场文书
同意迁入证明模板
2014/10/26 职场文书
2014年控辍保学工作总结
2014/12/08 职场文书
教师学期个人总结
2015/02/11 职场文书
3050和2060哪个好 性能差多少 差距有多大 谁更有性价比
2022/06/17 数码科技