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中subprocess的简单使用示例
Jul 28 Python
Python中内置数据类型list,tuple,dict,set的区别和用法
Dec 14 Python
详解Python的Django框架中manage命令的使用与扩展
Apr 11 Python
用pandas按列合并两个文件的实例
Apr 12 Python
Python对象属性自动更新操作示例
Jun 15 Python
解决Pandas的DataFrame输出截断和省略的问题
Feb 08 Python
关于pycharm中pip版本10.0无法使用的解决办法
Oct 10 Python
python构建指数平滑预测模型示例
Nov 21 Python
python实现滑雪者小游戏
Feb 22 Python
Python多线程实现支付模拟请求过程解析
Apr 21 Python
python 爬虫网页登陆的简单实现
Nov 30 Python
Pandas实现DataFrame的简单运算、统计与排序
Mar 31 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中使用Oracle数据库(6)
2006/10/09 PHP
thinkphp使用literal防止模板标签被解析的方法
2014/11/22 PHP
php获取指定日期之间的各个周和月的起止时间
2014/11/24 PHP
Yii2 RESTful中api的使用及开发实例详解
2016/07/06 PHP
Yii2中设置与获取别名的函数(setAlias和getAlias)用法分析
2016/07/25 PHP
PHP编程求最大公约数与最小公倍数的方法示例
2017/05/29 PHP
PHP验证类的封装与使用方法详解
2019/01/10 PHP
网站上面有这种切换效果
2006/06/26 Javascript
jquery Validation表单验证使用详解
2020/09/12 Javascript
微信小程序 点击控件后选中其它反选实例详解
2017/02/21 Javascript
微信小程序中子页面向父页面传值实例详解
2017/03/20 Javascript
使用svg实现动态时钟效果
2018/07/17 Javascript
微信小程序自定义导航栏(模板化)
2019/11/15 Javascript
vue-openlayers实现地图坐标弹框效果
2020/09/24 Javascript
Vue项目如何引入bootstrap、elementUI、echarts
2020/11/26 Vue.js
50行代码实现贪吃蛇(具体思路及代码)
2013/04/27 Python
Python学习笔记_数据排序方法
2014/05/22 Python
使用python调用浏览器并打开一个网址的例子
2014/06/05 Python
Python实现Windows上气泡提醒效果的方法
2015/06/03 Python
python实现逆滤波与维纳滤波示例
2020/02/26 Python
windows上彻底删除jupyter notebook的实现
2020/04/13 Python
Python的历史与优缺点整理
2020/05/26 Python
Python爬取你好李焕英豆瓣短评生成词云的示例代码
2021/02/24 Python
将HTML5 Canvas的内容保存为图片借助toDataURL实现
2013/05/20 HTML / CSS
详解Html5 监听拦截Android返回键方法
2018/04/18 HTML / CSS
瑞典快乐袜子:Happy Socks
2018/02/16 全球购物
Revolution Beauty美国官网:英国知名化妆品网站
2018/07/23 全球购物
Bravofly德国:预订廉价航班和酒店
2019/09/22 全球购物
安全生产中长期规划实施方案
2014/02/21 职场文书
《春到梅花山》教学反思
2014/04/16 职场文书
经贸日语专业个人求职信范文
2014/04/29 职场文书
文秘专业应届生求职信
2014/05/26 职场文书
毕业生找工作求职信
2014/08/05 职场文书
单方离婚协议书范本2014
2014/10/28 职场文书
爱心募捐感谢信
2015/01/22 职场文书
会计实训总结范文
2015/08/03 职场文书