• 自动化工具之二:win32gui


    自动化工具win32gui

    一、下载安装win32gui

    二、Win32gui的使用

    1.查找窗体句柄

    我们知道的所有空间其实就是窗体,所有的窗口都有一个独立的句柄,要操作任意一个窗体,你都需要找到这个窗体的句柄,这里,我们就可以用到FindWindow函数和FindWindowEx函数。在pywin32中,他们都属于win32gui的模块;

    1)使用FindWindow函数,列出所有的顶级窗口

    FindWindow(lpClassName=None, lpWindowName=None):

    描述:自顶层窗口(也就是桌面)开始搜索条件匹配的窗体,并返回这个窗体的句柄。不搜索子窗口、不区分大小写。找不到就返回0

    参数:

    lpClassName:字符型,是窗体类名,这个可以在Spy++里找到。

    lpWindowName:字符型,是窗口标题,也就是标题栏上你能看见的那个标题。

    说明:这个函数我们仅能用来找主窗口。

    2)使用FindWindowEx函数,列出所有的顶级窗口

    FindWindowEx(hwndParent=0, hwndChildAfter=0, lpszClass=None, lpszWindow=None);

    描述:搜索类名和窗体名匹配的窗体,并返回这个窗体的句柄。不区分大小写,找不到就返回0。

    参数:

    hwndParent:若不为0,则搜索句柄为hwndParent窗体的子窗体。

    hwndChildAfter:若不为0,则按照z-index的顺序从hwndChildAfter向后开始搜索子窗体,否则从第一个子窗体开始搜索。

    lpClassName:字符型,是窗体的类名,这个可以在Spy++里找到。

    lpWindowName:字符型,是窗口名,也就是标题栏上你能看见的那个标题。

    说明:找到了主窗口以后就靠它来定位子窗体啦。

    (3)获取窗口位置

    例如:

    (4)获取某个句柄的类名和标题

    title = win32gui.GetWindowText(handle)     
    
    clsname = win32gui.GetClassName(handle)

    (5)枚举所有所有子窗口句柄

    hwndChildList = []
    
    win32gui.EnumChildWindows(hwnd1, lambda hwnd, param: param.append(hwnd), hwndChildList)
    
    aa = hwndChildList

     

    (6)获得窗口的菜单句柄

    subHandle = win32gui.FindWindowEx(handle, 0, "EDIT", None)
    
    menuHandle = win32gui.GetMenu(subHandle)

     

    (7)获得子菜单或下拉菜单句柄

    # 参数:菜单句柄 子菜单索引号

    subMenuHandle = win32gui.GetSubMenu(menuHandle, 0)

    未完后续补充.......

  • 相关阅读:
    webStrom 注释模板添加
    匹配正则 url 端口 域名
    监测数据类型封装方法
    base64图片展示(后端给base64数据,前端展示图片)
    倒计时
    机密16位
    mvc与mvvm的区别
    flex表格的使用
    flex中tab页面的实现
    flex中下拉框的实现
  • 原文地址:https://www.cnblogs.com/yfacesclub/p/10113053.html
Copyright © 2020-2023  润新知