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中yield关键词的作用与用法
Nov 29 Python
Python用UUID库生成唯一ID的方法示例
Dec 15 Python
Python编程生成随机用户名及密码的方法示例
May 05 Python
Python面向对象之继承代码详解
Jan 29 Python
基于Python在MacOS上安装robotframework-ride
Dec 28 Python
python实现Virginia无密钥解密
Mar 20 Python
Python with用法:自动关闭文件进程
Jul 10 Python
通过python扫描二维码/条形码并打印数据
Nov 14 Python
Python 字符串池化的前提
Jul 03 Python
python实现感知机模型的示例
Sep 30 Python
让你相见恨晚的十个Python骚操作
Nov 18 Python
python字符串常规操作大全
May 02 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代码包装修正版
2008/03/15 PHP
php下保存远程图片到本地的办法
2010/08/08 PHP
PHP网页游戏学习之Xnova(ogame)源码解读(九)
2014/06/24 PHP
PHP实现对站点内容外部链接的过滤方法
2014/09/10 PHP
PHP中使用匿名函数操作数据库的例子
2014/11/17 PHP
php的PDO事务处理机制实例分析
2017/02/16 PHP
ThinkPHP框架表单验证操作方法
2017/07/19 PHP
浅析PHP中的 inet_pton 网络函数
2019/12/16 PHP
Javascript学习笔记2 函数
2010/01/11 Javascript
JQuery index()方法使用代码
2010/06/02 Javascript
原生js拖拽(第一课 未兼容)拖拽思路
2013/03/29 Javascript
js保留两位小数使用toFixed实现
2013/07/29 Javascript
AngularJS 输入验证详解及实例代码
2016/07/28 Javascript
关于JS中二维数组的声明方法
2016/09/24 Javascript
easyui关于validatebox实现多重规则验证的方法(必看)
2017/04/12 Javascript
vue2.0结合Element实现select动态控制input禁用实例
2017/05/12 Javascript
ES10 特性的完整指南小结
2019/03/04 Javascript
微信小程序云开发之使用云数据库
2019/05/17 Javascript
JavaScript实现图片轮播特效
2019/10/23 Javascript
jquery插件实现轮播图效果
2020/10/19 jQuery
Python中的zip函数使用示例
2015/01/29 Python
Python的Tornado框架异步编程入门实例
2015/04/24 Python
详解Django中六个常用的自定义装饰器
2018/07/04 Python
python学习——内置函数、数据结构、标准库的技巧(推荐)
2019/04/18 Python
python selenium爬取斗鱼所有直播房间信息过程详解
2019/08/09 Python
django数据模型(Model)的字段类型解析
2019/12/25 Python
澳大利亚珍珠首饰购物网站:Vayo Pearls
2019/03/11 全球购物
Wolford法国官网:奥地利奢侈内衣品牌
2020/08/11 全球购物
Java基础知识面试题
2014/03/25 面试题
校长就职演讲稿
2014/01/06 职场文书
面试必备的求职信
2014/05/25 职场文书
说谎欺骗人检讨书300字
2014/11/18 职场文书
2015年教务处干事工作总结
2015/07/22 职场文书
2016全国“质量月”活动标语口号
2015/12/26 职场文书
导游词之寿县报恩寺
2020/01/19 职场文书
利用Python读取微信朋友圈的多种方法总结
2021/08/23 Python