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 04 Python
python实现自动重启本程序的方法
Jul 09 Python
python实现上传下载文件功能
Nov 19 Python
Python学习之用pygal画世界地图实例
Dec 07 Python
python如何统计序列中元素
Jul 31 Python
Python将list中的string批量转化成int/float的方法
Jun 26 Python
python一键去抖音视频水印工具
Sep 14 Python
Python解决pip install时出现的Could not fetch URL问题
Aug 01 Python
Pytorch 的损失函数Loss function使用详解
Jan 02 Python
Window10上Tensorflow的安装(CPU和GPU版本)
Dec 15 Python
No module named ‘win32gui‘ 的解决方法(踩坑之旅)
Feb 18 Python
python​格式化字符串
Apr 20 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
php5 mysql分页实例代码
2008/04/10 PHP
《PHP编程最快明白》第二讲 数字、浮点、布尔型、字符串和数组
2010/11/01 PHP
PHP面向对象——访问修饰符介绍
2012/11/08 PHP
JoshChen_php新手进阶高手不可或缺的规范介绍
2013/08/16 PHP
javascript模拟地球旋转效果代码实例
2013/12/02 Javascript
js字符串日期yyyy-MM-dd转化为date示例代码
2014/03/06 Javascript
初识Node.js
2014/09/03 Javascript
用javascript关闭本窗口技巧小结
2014/09/05 Javascript
使用Raygun来自动追踪AngularJS中的异常
2015/06/23 Javascript
详解JavaScript中的客户端消息框架设计原理
2015/06/24 Javascript
Bootstrap Chart组件使用教程
2016/04/28 Javascript
JavaScript 控制字体大小设置的方法
2016/11/23 Javascript
Node.js中如何合并两个复杂对象详解
2016/12/31 Javascript
element-ui 表格数据时间格式化的方法
2018/08/24 Javascript
vue-cli3项目展示本地Markdown文件的方法
2019/06/07 Javascript
举例讲解Python中的算数运算符的用法
2015/05/13 Python
快速入手Python字符编码
2016/08/03 Python
matplotlib实现区域颜色填充
2019/03/18 Python
python opencv摄像头的简单应用
2019/06/06 Python
opencv3/Python 稠密光流calcOpticalFlowFarneback详解
2019/12/11 Python
Python使用sqlite3模块内置数据库
2020/05/07 Python
python time()的实例用法
2020/11/03 Python
python 基于opencv 实现一个鼠标绘图小程序
2020/12/11 Python
资深财务管理人员自我评价
2013/09/22 职场文书
童装店创业计划书
2014/01/09 职场文书
2014全国两会心得体会
2014/03/17 职场文书
小学语文业务学习材料
2014/06/02 职场文书
爱的奉献演讲稿
2014/09/10 职场文书
2014乡镇干部对照检查材料思想汇报
2014/09/26 职场文书
2014年招生工作总结
2014/11/26 职场文书
2016自主招生教师推荐信范文
2015/03/23 职场文书
穆斯林的葬礼读书笔记
2015/06/26 职场文书
残联2016年全国助残日活动总结
2016/04/01 职场文书
基于Go语言构建RESTful API服务
2021/07/25 Golang
一文了解JavaScript用Element Traversal新属性遍历子元素
2021/11/27 Javascript
Win11怎么把合并的任务栏分开 Win11任务栏合并分开教程
2022/04/06 数码科技