学会用按键精灵获取子窗口句柄

电脑的桌面是最顶级的窗口,在桌面里的其他程序窗口是桌面的子窗口。那到底父窗口和子窗口是怎么理解的呢?

操作方法

  • 01

    【父窗口与子窗口】 每一个窗体form都是一个父窗口,它不是其他任一个窗体的子窗口.窗体上的所有控件,按钮等就是窗体的子窗口.一个窗口(除了窗体)既可能是父窗口,也可能是子窗口.比如窗体里面有一个frame,frame里面的控件就是frame的子窗口,但frame同时也是窗体的子窗口.就像容器里面装着容器.最大的那个容器就是窗体.每一个容器里面的东西就是其子窗口.

  • 02

    【常见的父窗口和子窗口的关系】 【父窗口对应一个子窗口】 1、 有类名没有标题(有标题没有类名) 例如:记事本,它只有一个子窗口,子窗口只有类名没有标题。

  • 03

    我们要如何查找获取到这个子窗口的句柄呢? 首先,我们先复习下按键里的获取子窗口句柄的命令。 命令名称: FindEx 查找子窗口 命令功能: 根据父窗口句柄查找子窗口匹配类名或者匹配标题 命令参数: 参数1 整数型,父窗口句柄 参数2 整数型,子窗口句柄 参数3 字符串型,匹配类名 参数4 字符串型,匹配标题 ㈠ 先要获取父窗口的句柄,然后根据父窗口的句柄来找子窗口。 记事本父窗口的标题是:无标题 - 记事本 类名是:Notepad hwnd= Plugin.Window.find("Notepad" ,"无标题 - 记事本") //获取记事本父窗口句柄 ㈡  获取到父窗口句柄之后,我们还需要知道子窗口的类名,类名为:Edit zhwnd = Plugin.Window.findex(hwnd, 0, "Edit", 0) //获取子窗口句柄 *这里子窗口句柄的值设置为0,可能会有很多童鞋很困惑,findex命令不就是获取子窗口句柄的吗?那这里还设置一个子窗口句柄的值干嘛?我要知道还要用findex来找吗? 小编刚接触这个命令的时候,对于这个参数也非常疑惑,后来发现是这样的: findex命令里的子窗口句柄,指的是当前要查找的子窗口上面一个子窗口的句柄。

  • 04

    例如上图:当我们要找创建时间这个子窗口的时候,findex命令里的子窗口句柄参数就设置为红框里子窗口的句柄。 2、没有类名也没有标题 父窗口下只有一个子窗口的情况,标题和类名不设置是可以的。 hwnd= Plugin.Window.find(0,"无标题 - 记事本") zhwnd = Plugin.Window.findex(hwnd, 0, 0, 0) TracePrint zhwnd 结果:

  • 05

    【父窗口对应多个子窗口】 1、 多个子窗口的类名或标题不一样 拿有道云笔记窗口作为例子:

  • 06

    它的这两个子窗口的类名标题都不一样,这样的情况我们按照前面介绍的父窗口下只有一个子窗口的方式来查找就可以了。 代码: hwnd = Plugin.Window.find(0,"有道云笔记  Haiye") zhwnd = Plugin.Window.findex(hwnd, 0, "NETEASE POPO2007 List", 0) TracePrint zhwnd 结果:

  • 07

    2、 多个子窗口的类名或标题一样

  • 08

    有道云笔记下的这两个子窗口的类名、标题都是一样的。 hwnd = Plugin.Window.find(0,"有道云笔记  Haiye") HwndEx = Plugin.Window.findex(hwnd, 0, "Popo.UI.Controls.Class.SkinSplitter", 0) 上面的代码只能找到第一个类名为Popo.UI.Controls.Class.SkinSplitter的子窗口,第二个无法找到。 这样的情况,该怎么找第二个呢? 在前面我们提到过,findex里的子窗口句柄这个参数,在这里我们就可以利用它。 思路如下: 1、获取父窗口句柄 2、获取第一个子窗口句柄 3、根据父窗口句柄以及第一个子窗口句柄,获取第二个子窗口句柄 代码: hwnd = Plugin.Window.find(0,"有道云笔记  Haiye") HwndEx = Plugin.Window.findex(hwnd, 0, "Popo.UI.Controls.Class.SkinSplitter", 0) TracePrint HwndEx HwndEx = Plugin.Window.findex(hwnd, HwndEx, "Popo.UI.Controls.Class.SkinSplitter", 0) TracePrint HwndEx 结果:

  • 09

    【子窗口下还有子窗口】 例如按键抓抓窗口:

  • 10

    抓抓父窗口下类名为#32770的子窗口,它还有它的子窗口,我们如果要找#32770的子窗口下标题为句柄的窗口,该如何查找呢? 思路: 1、获取抓抓父窗口句柄 2、根据父窗口句柄找#32770的子窗口句柄 3、以#32770的子窗口作为父窗口, 继续查找下一级子窗口 代码: hwnd= Plugin.Window.find(0,"按键抓抓辅助工具2014.00.14006") zhwnd = Plugin.Window.findex(hwnd, 0, "#32770", 0) zzhwnd = Plugin.Window.findex(zhwnd, 0, 0, "句柄") TracePrint zzhwnd 结果:

(0)

相关推荐

  • 使用按键精灵获取句柄的方法

    本文介绍一下按键精灵获取句柄的方法,示例实现记事本中自动输入文字. 操作方法 01 首先,打开按键精灵新建一个脚本. 02 点击上方的菜单工具栏,选择抓抓工具. 03 选择弹出窗口,点击对应的左侧句柄 ...

  • 按键精灵开发教程:解决获取不到网页源文件

    使用命令库里的获取网页源文件,提示没有权限访问?返回值是空的?又或者,网页的内容变化了,但是获取到的网页源文件一直都是第一次启动时获取到的?这么多症状,还有得救吗?小编今天分享药方三帖.这三种方法,小 ...

  • 按键精灵多线程的两种控制方法

    操作方法 01 脚本特色:*支持单控和全部一次性控制的操作,不会冲突,不会重复启动.*"热键"版特色,方便用户指定窗口直接启动.*"列表"版特色,实时更新.添加 ...

  • 用按键精灵制作游戏脚本之前后台坐标关联教程

    各位大大在切换前后台命令的时候,有没有遇到坐标切换呢~ 有没有发现前后台的命令,对同一个窗体内容,居然坐标不同!! 今天~院刊就跟大家普及下前台坐标与相对应的后台坐标知识~ 操作方法 01 什么是前台 ...

  • 红手指怎么连接按键精灵

    小编教你红手指怎么连接按键精灵 操作方法 01 打开按键精灵 新建 抓抓 句柄 返回游戏界面 按f8获取游戏句柄 复制句柄 点抓抓里面的图像 勾上指定窗口句柄 粘贴句柄 按键盘上的prt sc键,看能 ...

  • 按键精灵如何进行后台鼠标点击键盘按键操作

    按键精灵是一款非常简单实用的软件,能够进行各种鼠标键盘的模拟操作,解放双手,其不仅可以前台操作,还可以进行后台操作,不影响平常的使用 操作方法 01 首先打开按键精灵,点击新建 02 选择全部命令-插 ...

  • 按键精灵教程

    大家是否还记得金庸武侠小说里的《葵花宝典》,里面记载的盖世神功,引来了无数江湖人士的互相争夺,引起无数腥风血雨。而里面的“欲练此功,必先自宫”更 是令无数男同胞蛋疼不已。即便自宫,也未必成功。《葵花宝 ...

  • 按键精灵:用自己的方式快乐游戏!

    大家知道什么是真正的玩游戏吗?什么东西是超越等级,装备,金钱之上的快乐?其实有很多,只是你没有留意罢了!陪朋友坐在游戏中的海边聊聊天不是玩游戏吗?篝火旁边跳跳舞难道不是玩游戏吗? 图1 但是玩久了就会 ...

  • 教你用按键精灵制作定时提醒小工具!

    按键精灵是时下最热门的动作脚本开发软件,国内多数主流游戏辅助也是用该程序制作。但你以为按键精灵的功能仅限于此吗?那你就打错特错了。动作脚本适用范围广泛,提高我们的办公效率,为生活提供便捷功能都是按键脚 ...