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中的可变对象和不可变对象
Jul 07 Python
pytorch + visdom CNN处理自建图片数据集的方法
Jun 04 Python
Python清空文件并替换内容的实例
Oct 22 Python
opencv实现图片模糊和锐化操作
Nov 19 Python
为什么Python中没有"a++"这种写法
Nov 27 Python
使用python将最新的测试报告以附件的形式发到指定邮箱
Sep 20 Python
Pytorch 的损失函数Loss function使用详解
Jan 02 Python
如何使用python实现模拟鼠标点击
Jan 06 Python
Python opencv相机标定实现原理及步骤详解
Apr 09 Python
Django Channel实时推送与聊天的示例代码
Apr 30 Python
Python 2.6.6升级到Python2.7.15的详细步骤
Dec 14 Python
使用numpy实现矩阵的翻转(flip)与旋转
Jun 03 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
中国广播史趣谈 — 几个历史第一次
2021/03/01 无线电
php计算title标题相似比的方法
2015/07/29 PHP
[原创]PHPCMS遭遇会员投稿审核无效的解决方法
2017/01/11 PHP
PHP基于迭代实现文件夹复制、删除、查看大小等操作的方法
2017/08/11 PHP
PHP执行系统命令函数实例讲解
2021/03/03 PHP
Expandable "Detail" Table Rows
2007/08/29 Javascript
javascript  Error 对象 错误处理
2008/05/18 Javascript
Javascript 读后台cookie代码
2008/09/15 Javascript
Extjs EditorGridPanel中ComboBox列的显示问题
2011/07/04 Javascript
原生Js实现元素渐隐/渐现(原理为修改元素的css透明度)
2013/06/24 Javascript
控制input输入框中提示信息的显示和隐藏的方法
2014/02/12 Javascript
javascript为按钮注册回车事件(设置默认按钮)的方法
2015/05/09 Javascript
jquery捕捉回车键及获取checkbox值与异步请求的方法
2015/12/24 Javascript
Bootstrap导航栏各元素操作方法(表单、按钮、文本)
2015/12/28 Javascript
Node.js程序中的本地文件操作用法小结
2016/03/06 Javascript
Nodejs实现短信验证码功能
2017/02/09 NodeJs
vue+Element-ui实现登录注册表单
2020/11/17 Javascript
微信小程序实现简单的select下拉框
2020/11/23 Javascript
Vue看了就会的8个小技巧
2021/01/21 Vue.js
python 从远程服务器下载东西的代码
2013/02/10 Python
Python基于matplotlib实现绘制三维图形功能示例
2018/01/18 Python
python实现自动获取IP并发送到邮箱
2018/12/26 Python
python实现学员管理系统
2019/02/26 Python
pandas的连接函数concat()函数的具体使用方法
2019/07/09 Python
Python decorator拦截器代码实例解析
2020/04/04 Python
修复iPhone的safari浏览器上submit按钮圆角bug
2012/12/24 HTML / CSS
可自定义箭头样式的CSS3气泡提示框
2016/03/16 HTML / CSS
美国床垫和床上用品公司:Nest Bedding
2017/06/12 全球购物
柏林通行证:Berlin Pass
2018/04/11 全球购物
Pandora西班牙官方商店:PandoraShop.es
2020/10/05 全球购物
医学专业五年以上个人求职信
2013/12/03 职场文书
小学教师节活动方案
2014/01/31 职场文书
党员干部一句话承诺
2014/05/30 职场文书
绿色环保标语
2014/06/12 职场文书
幼儿园小朋友毕业感言
2015/07/30 职场文书
用Python selenium实现淘宝抢单机器人
2021/06/18 Python