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开发编码规范
Sep 08 Python
使用PyCharm配合部署Python的Django框架的配置纪实
Nov 19 Python
Python的爬虫框架scrapy用21行代码写一个爬虫
Apr 24 Python
Python通过Django实现用户注册和邮箱验证功能代码
Dec 11 Python
Python3多进程 multiprocessing 模块实例详解
Jun 11 Python
基于Python List的赋值方法
Jun 23 Python
python面向对象法实现图书管理系统
Apr 19 Python
python实现局域网内实时通信代码
Dec 22 Python
Python使用configparser库读取配置文件
Feb 22 Python
python实现数学模型(插值、拟合和微分方程)
Nov 13 Python
Django-silk性能测试工具安装及使用解析
Nov 28 Python
python中pyqtgraph知识点总结
Jan 26 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
批量修改RAR文件注释的php代码
2010/11/20 PHP
Zend Framework生成验证码并实现验证码验证功能(附demo源码下载)
2016/03/22 PHP
php编译安装php-amq扩展简明教程
2016/06/25 PHP
php+mongodb判断坐标是否在指定多边形区域内的实例
2016/10/28 PHP
php+mysql实现简单登录注册修改密码网页
2016/11/30 PHP
zend框架实现支持sql server的操作方法
2016/12/08 PHP
js 多浏览器分别判断代码
2010/04/01 Javascript
浏览器页面区域大小的js获取方法
2013/09/21 Javascript
使用JQUERY进行后台页面布局控制DIV实现左右式
2014/01/07 Javascript
javascript 3d 逐侦产品展示(核心精简)
2014/03/26 Javascript
js使用for循环查询数组中是否存在某个值
2014/08/12 Javascript
纯js代码实现未知宽高的元素在指定元素中垂直水平居中显示
2015/09/12 Javascript
javascript和jQuery实现网页实时聊天的ajax长轮询
2016/07/20 Javascript
jQuery焦点图左右转换效果
2016/12/12 Javascript
详解AngularJS中$filter过滤器使用(自定义过滤器)
2017/02/04 Javascript
JS简单实现自定义右键菜单实例
2017/05/31 Javascript
Vue实现路由跳转和嵌套
2017/06/20 Javascript
解决vue中虚拟dom,无法实时更新的问题
2018/09/15 Javascript
jquery实现烟花效果(面向对象)
2020/03/10 jQuery
[01:25:38]DOTA2-DPC中国联赛 正赛 VG vs LBZS BO3 第一场 1月19日
2021/03/11 DOTA
python删除文件示例分享
2014/01/28 Python
Python使用修饰器执行函数的参数检查功能示例
2017/09/26 Python
对numpy中布尔型数组的处理方法详解
2018/04/17 Python
11个Python Pandas小技巧让你的工作更高效(附代码实例)
2019/04/30 Python
Pytorch使用MNIST数据集实现基础GAN和DCGAN详解
2020/01/10 Python
使用sklearn的cross_val_score进行交叉验证实例
2020/02/28 Python
Python Django中的STATIC_URL 设置和使用方式
2020/03/27 Python
白色公司:The White Company
2017/10/11 全球购物
OPPO手机官方商城:中国手机市场出货量第一品牌
2017/10/18 全球购物
Christys’ Hats官网:英国帽子制造商
2018/11/28 全球购物
YBF Beauty官网:美丽挚友,美国知名彩妆品牌
2020/11/22 全球购物
个人简历中的自我评价范例
2013/10/29 职场文书
党章学习思想汇报
2014/01/14 职场文书
历史专业学生的自我评价
2014/02/28 职场文书
献爱心倡议书
2014/04/14 职场文书
Pytest之测试命名规则的使用
2021/04/16 Python