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代码
Mar 13 Python
Python采用socket模拟TCP通讯的实现方法
Nov 19 Python
使用相同的Apache实例来运行Django和Media文件
Jul 22 Python
Python程序运行原理图文解析
Feb 10 Python
python实现简单神经网络算法
Mar 10 Python
tensorflow实现简单逻辑回归
Sep 07 Python
在Python中通过getattr获取对象引用的方法
Jan 21 Python
Python提取支付宝和微信支付二维码的示例代码
Feb 15 Python
Python二元赋值实用技巧解析
Oct 25 Python
详解python opencv、scikit-image和PIL图像处理库比较
Dec 26 Python
Pytorch转tflite方式
May 25 Python
python使用建议技巧分享(三)
Aug 18 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
检查url链接是否已经有参数的php代码 添加 ? 或 &
2010/02/09 PHP
PHP中把对象转换为关联数组代码分享
2015/04/09 PHP
js给onclick赋值传参数的两种方法
2013/11/25 Javascript
jQuery 重复加载错误以及修复方法
2014/12/16 Javascript
JavaScript插件化开发教程(六)
2015/02/01 Javascript
使用Raygun来自动追踪AngularJS中的异常
2015/06/23 Javascript
JS实现的简单鼠标跟随DiV层效果完整实例
2015/10/31 Javascript
javascript中return,return true,return false三者的用法及区别
2015/11/17 Javascript
BootStrap3学习笔记(一)之网格系统
2016/05/20 Javascript
JavaScript 实现的checkbox经典实例分享
2016/10/16 Javascript
jQuery实现倒计时(倒计时年月日可自己输入)
2016/12/02 Javascript
JS实现微信里判断页面是否被分享成功的方法
2017/06/06 Javascript
JS获取日期的方法实例【昨天,今天,明天,前n天,后n天的日期】
2017/09/28 Javascript
element-ui表格数据转换的示例代码
2018/08/24 Javascript
ES6 迭代器与可迭代对象的实现
2019/02/11 Javascript
js获取对象,数组所有属性键值(key)和对应值(value)的方法示例
2019/06/19 Javascript
解决layui动态加载复选框无法选中的问题
2019/09/20 Javascript
Python随机数random模块使用指南
2016/09/09 Python
简单谈谈Python中的闭包
2016/11/30 Python
Python抓取框架Scrapy爬虫入门:页面提取
2017/12/01 Python
Python 3.7新功能之dataclass装饰器详解
2018/04/21 Python
python pygame实现2048游戏
2018/11/20 Python
python+ffmpeg批量去视频开头的方法
2019/01/09 Python
Python mutiprocessing多线程池pool操作示例
2019/01/30 Python
python实现的接收邮件功能示例【基于网易POP3服务器】
2019/09/11 Python
CSS3 三维变形实现立体方块特效源码
2016/12/15 HTML / CSS
详解css3 flex弹性盒自动铺满写法
2020/09/17 HTML / CSS
HTML5之WebGL 3D概述(上)—WebGL原生开发开启网页3D渲染新时代
2013/01/31 HTML / CSS
详解HTML5中rel属性的prefetch预加载功能使用
2016/05/06 HTML / CSS
俄罗斯小米家用电器、电子产品和智能家居商店:Poood.ru
2020/04/03 全球购物
纪检干部现实表现材料
2014/08/21 职场文书
党员干部批评与自我批评反四风思想汇报
2014/09/21 职场文书
拾金不昧通报表扬范文
2015/05/05 职场文书
离婚起诉书怎么写
2015/05/19 职场文书
详细总结Python常见的安全问题
2021/05/21 Python
十大最强飞行系宝可梦,BUG燕上榜,第二是飞行系王者
2022/03/18 日漫