Pywin32打开指定窗口
def open_app():try:win32api.ShellExecute(0, 'open', self.app_path, '', '', 1)except:print(f'Program can not be opened...')def get_windows(windowsname, filename):# 获取窗口句柄handle = win32gui.FindWindow(None, os.path.basename(windowsname).split('.')[0])# 判断该应用是否打开,如果没有打开,没有打开handle为0if handle == 0:print('程序未打开'.center(50, '='))open_app(windowsname)time.sleep(2)# app 打开以后,重新给handle赋值handle = win32gui.FindWindow(None, os.path.basename(windowsname).split('.')[0])# 应用最小化时,使用该指令可以让该应用重新最大化-->该语句非常重要win32gui.ShowWindow(handle, win32con.SW_MAXIMIZE)## 将窗口放在前台,并激活该窗口(窗口不能最小化)win32gui.SetForegroundWindow(handle)time.sleep(1)# 获取窗口DChdDC = win32gui.GetWindowDC(handle)# 根据句柄创建一个DCnewhdDC = win32ui.CreateDCFromHandle(hdDC)# 创建一个兼容设备内存的DCsaveDC = newhdDC.CreateCompatibleDC()# 创建bitmap保存图片saveBitmap = win32ui.CreateBitmap()# 获取窗口的位置信息left, top, right, bottom = win32gui.GetWindowRect(handle)# 窗口长宽width = right - leftheight = bottom - top# bitmap初始化saveBitmap.CreateCompatibleBitmap(newhdDC, width, height)saveDC.SelectObject(saveBitmap)saveDC.BitBlt((0, 0), (width, height), newhdDC, (0, 0), win32con.SRCCOPY)saveBitmap.SaveBitmapFile(saveDC, filename)get_windows(r"C:\Users\Administrator\Desktop\PyWin32.chm", "截图.png")
说明,参考的网络上其他大佬的代码,写文章时,找不到连接了,还请原谅,对代码进行了更改,主要是解决了调用窗口时,程序不存在,或者程序当前是最小化状态,从最小化状态重新返回桌面,仅供参考
Pywin32打开指定窗口相关推荐
- pywin32激活指定窗口,模拟键盘鼠标
import win32guihwnd=win32gui.FindWindow("ChatWnd", "标题") #获取窗口win32gui.SetForegr ...
- 打开指定大小的新窗口
使用JavaScript打开一个弹出窗口,可以使用window对象的open()方法或showModalDialog()方法完成. JavaBean类 public class ShowWindow ...
- Windows小技巧 -- 命令行窗口打开指定目录的资源管理器
文章目录 方法一 explorer 命令快速打开指定目录的资源管理器 方法二 start 命令快速打开指定目录的资源管理器 start 命令小记 打开系统应用 打开新的命令行窗口 打开命令行窗口并执行 ...
- 打开新窗口的几种方式及target=_blank指定窗口名称
打开新窗口的几种方式及target=_blank指定窗口名称 打开新窗口的几种方式: 1.form提交到新窗口 <form action="action.jsp" ta ...
- 【Python】【pywin32】【指定窗口截图】
python实现Windows下指定窗口截屏脚本 背景 源码 参考链接 背景 最近对python pywin32模块感兴趣,且想实现一个能够截取指定窗口图片的小功能.在各大论坛遨游一番后,有所收获,记 ...
- [WinAPI]通过Windows系统CLSID(GUID)打开系统指定窗口,及部分[上帝模式]命令
CLSID是类标识符,windows有众多的类对象,我门调用这些类对象就可以实现很多计算机操作, 用户在图形界面上找找找点点点,费时费力,程序员可以给用户提供脚本或者程序提供按钮完成"一键打 ...
- java 打开指定文件,java解决指定应用程序打开指定文件
java解决指定应用程序打开指定文件 //打开工具的路径及名字 String toolsPath = "D:/office/Office12/WINWORD.EXE"; //被打开 ...
- Response.Redirect 打开新窗口的两种方法
一般情况下,Response.Redirect 方法是在服务器端进行转向,因此,除非使用 Response.Write("<script>window.location='htt ...
- 用C#调用Windows API向指定窗口发送按键消息
为什么80%的码农都做不了架构师?>>> 用C#调用Windows API向指定窗口发送 一.调用Windows API. C#下调用Windows API方法如下: 1.引入 ...
最新文章
- python新手项目-推荐 13 个 Python 新手练级项目
- MPS(主生产计划)
- 工程代码_特征工程学习,19 项实践 Tips!代码已开源!
- 5005.boost之asio简单反射型服务器客户端
- Android开发网
- HDU 1698 Just a Hook (线段树区间修改+区间查询)
- [转载]Oracle监听器安装与设置(2)
- 聊天室私人聊天原理_如何设置极其安全的私人群组聊天
- Linux账号安全控制与PAM认证模块
- loadrunner视频资料地址-boobooke
- 计算机存储单位字节(Byte)以及单位之间的转换
- wordpress 更改excerpt的长度,设置excerpt后面'[...]'的字样和链接
- SylixOS学习二—— SylixOS认识和使用_SylixOS虚拟机使用
- 非遗传承人陶一的诗词被荣获吉尼斯记录的《上海滩诗叶》收录
- parent.layer.open打开的页面向上个页面传值
- 测试点先发散后收敛思考
- 阿里p8免费公开五份Java架构师学习手册,助力金九银十
- 放弃Notepad++,替代品很多
- web前端培训开发,你必须知道的CSS盒模型
- 221. k8s_v1.15addons插件部署