python操作句柄_python句柄部分操作
# 通过窗口类名、窗口标题获取控件句柄
hwnd = win32gui.FindWindow("ClassName", "TitleName")
# 通过句柄设置控件内容
win32gui.SendMessage(hwnd , 12, 0, '文本内容')
# 修改窗口标题
SetWindowText(hwnd, "Title")
#通过句柄获取子窗口句柄
ch_hwnd = win32gui.FindWindowEx(hwnd, 0, "ClassName", "TitleName")
# 获取所有子窗口
hwndChildList = []
win32gui.EnumChildWindows(hwnd, lambda hwnd, param: param.append(hwnd), hwndChildList)
print(hwndChildList)
# 模糊查询句柄
def FindWinHwnd(title, top=True):
titles = []
def foo(hwnd, mouse):
if top:
if IsWindow(hwnd) and IsWindowEnabled(hwnd) and IsWindowVisible(hwnd):
if title in GetWindowText(hwnd):
titles.append(hwnd)
else:
if title in GetWindowText(hwnd):
titles.append(hwnd)
EnumWindows(foo, 0)
if titles:
return titles[0]
else:
return 0
# 截图
def window_api_capture(file, hWnd=0):
if hWnd == 0:
MoniterDev = win32api.EnumDisplayMonitors(None, None)
width = MoniterDev[0][2][2]
height = MoniterDev[0][2][3]
else:
left, top, right, bot = win32gui.GetWindowRect(hWnd)
width = right - left
height = bot - top
# 返回句柄窗口的设备环境,覆盖整个窗口,包括非客户区,标题栏,菜单,边框
hWndDC = win32gui.GetWindowDC(hWnd)
# 创建设备描述表
mfcDC = win32ui.CreateDCFromHandle(hWndDC)
# 创建内存设备描述表
saveDC = mfcDC.CreateCompatibleDC()
# 创建位图对象准备保存图片
saveBitMap = win32ui.CreateBitmap()
# 为bitmap开辟存储空间
saveBitMap.CreateCompatibleBitmap(mfcDC, width, height)
# 将截图保存到saveBitMap中
saveDC.SelectObject(saveBitMap)
# 保存bitmap到内存设备描述表
saveDC.BitBlt((0, 0), (width, height), mfcDC, (0, 0), win32con.SRCCOPY)
try:
saveBitMap.SaveBitmapFile(saveDC, file)
except:
pass
win32gui.DeleteObject(saveBitMap.GetHandle())
saveDC.DeleteDC()
mfcDC.DeleteDC()
win32gui.ReleaseDC(hWnd, hWndDC)
python操作句柄_python句柄部分操作相关推荐
- python win32gui使用_python win32 简单操作
#coding: utf-8 importwin32gui, win32api, win32conimporttimeimportwin32clipboard as wimportloggingdef ...
- python数据库操作框架_python bottle 框架操作数据库
python操作mysql数据库用MySQLdb模板,操作postgresql则用psycopg2模块 安装MySQLdb(用yum安装,好像只能与mysql5.1版本配合使用):yum instal ...
- python操作目录_Python语言目录操作一
本文主要向大家介绍了Python语言目录操作一,通过具体的内容向大家展示,希望对大家学习Python语言有所帮助. 目录操作 Python os 模块提供了一个统一的操作系统接口函数, 这些接口函数通 ...
- 属于python文件的操作有_Python的文件操作
1.初始文件操作 1.使用python读写文件使用open()函数获取文件句柄,就可以操作文件了,根据打开方式不同能执行的操作也不同. 打开方式有: r.w.a.r+.w+.a+.rb.wb.ab.r ...
- python字典操作添加_Python字典常见操作实例小结【定义、添加、删除、遍历】
本文实例总结了python字典常见操作.分享给大家供大家参考,具体如下: 简单的字典: 字典就是键值对key-value组合. #字典 键值对组合 alien_0 ={'color':'green', ...
- python 字典循环_Python字典遍历操作实例小结
本文实例讲述了Python字典遍历操作.分享给大家供大家参考,具体如下: 1 遍历键值对 可以使用一个 for 循环以及方法 items() 来遍历这个字典的键值对. dict = {'evapora ...
- python切片操作例题_Python之切片操作
假设list的长度(元素个数)是length, start_index和stop_index在符合虚拟的逻辑位置关系时, start_index和stop_index的绝对值是可以大于length的. ...
- python封装举例_Python面向对象封装操作案例详解
本文实例讲述了Python面向对象封装操作.分享给大家供大家参考,具体如下: 目标 封装 小明爱跑步 存放家具 01. 封装 封装 是面向对象编程的一大特点 面向对象编程的 第一步 -- 将 属性 和 ...
- python新建文件格式_python之文件操作
@ 打开\创建文件 在python,使用open函数,可以打开一个已经存在的文件,或者创建一个新文件,默认在当前程序所在文件夹下创建新文件. 格式:open(文件名,访问模式),例如 f = open ...
最新文章
- iOS开发 蓝牙技术4.0详解
- WordPress 主题教程:从零开始制作 WordPress 主题
- LVS-NAT和LVS-DR模式的实现详解
- julia有 pytorch包吗_GitHub发布年度机器学习榜:TensorFlow最火,PyTorch失踪,Julia第四...
- C++ 的 allocator类 提供类型化的内存分配以及对象的分配和撤销
- 一套C#图书管理系统源码 书籍借还登记统计系统源码
- 3GPP TS 23502-h20 中英文对照 | 4.15.6.2 NEF service operations information flow
- mysql日期相减返回月数_MySql日期相减返回月数_MySQL
- Python ADF 单位根检验 如何查看结果
- [历朝通俗演义-蔡东藩-前汉]第007回 寻生路徐市垦荒 从逆谋李斯矫诏
- vue 右键 单击 事件
- padstack editor制作过孔
- 【PyTorch】偏置项 bias 与 Batch-Normalize
- 管理学二(学习与沟通的重要性)
- 湖北省专科计算机竞赛,NOI信息学竞赛2019年湖北省队名单
- 手机邮箱怎么弄_安卓手机邮箱设置教程 教您如何使用手机接收邮件
- Columbia Biosciences 山羊抗美洲驼 IgG:SureLight APC
- 业内人士对20家N卡品牌的经典点评
- 基于SpringBoot的实习管理系统
- MS系统老是跳服务器连接不上,无法连接到 DESKTOP-G 1I39VQ\MSSQLSERVER01 解决方法
热门文章
- JavaScript的基础教程
- 京东物流常态化压测实践 | 京东云技术团队
- amd显卡驱动linux编译安装,Debian 8 安装AMD/ATI显卡驱动
- unity中实现3d物体的颜色随时间渐渐消失
- uoj#36. 【清华集训2014】玛里苟斯(线性基+概率期望)
- 国产Excel开发组件Spire.XLS【转换】教程(16):在 C#、VB.NET 中将工作表转换为 PDF
- 读万卷书,可以不行万里路吗?
- 如何批量查询多个众邮快递单号的物流情况
- babylon 里面加gltf 模型
- 个人Babylonjs学习笔记