美文网首页
python句柄部分操作

python句柄部分操作

作者: 白菜福 | 来源:发表于2019-10-10 12:47 被阅读0次
# 通过窗口类名、窗口标题获取控件句柄
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对文件操作的流程 打开文件 得到文件句柄并赋值给一个变量 通过文件句柄对文件进行操作 关闭文件关于关闭...

  • 文件操作之读写

    一、文件操作流程 1.打开文件,得到文件的句柄 通过句柄操作文件3.保存并关闭文件 二、python中实现 在py...

  • Selenium+Python句柄操作

    当我们打开浏览器,点击页面链接时,经常会遇到新的页面会在新窗口打开,而Selenium不会去自动识别新窗口,所以我...

  • 2017 09 25

    Windows编程基础 基础知识了解 句柄: 资源的标识 操作系统通过句柄l来管理和操作资源 图标句柄(HICON...

  • Java 编程思想-第二章 对象的引用

    1. 用句柄操作对象 句柄,也做“引用”,例:String s = new String("a");s 即称为句柄...

  • PHP强化之12 - 文件及目录操作

    一、目录操作 1、目录句柄 1)打开目录句柄resource opendir ( string $path [, ...

  • Perl语言学习(八)Perl文件操作

    八、Perl文件操作 1、Perl句柄 句柄的定义Perl通过句柄和“外面”的世界连接句柄是一个顺序号,对于打开的...

  • 句柄表和继承

    句柄表和继承 句柄代表着备操作的对象 句柄的本质(handler) 句柄表可以看做一个非常大的机构体数组句柄表的结...

  • 第九章 Python3_文件操作之读写

    一、 文件操作流程 打开文件,得到文件的对象(句柄) 通过文件对象(句柄)操作文件 保存并关闭文件 二、 Pyth...

网友评论

      本文标题:python句柄部分操作

      本文链接:https://www.haomeiwen.com/subject/dzbopctx.html