首页 > 电脑专区 > 电脑教程 >

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

来源:互联网 2023-02-21 20:31:43 版权归原作者所有,如有侵权,请联系我们

电脑的桌面是最顶级的窗口,在桌面里的其他程序窗口是桌面的子窗口。那到底父窗口和子窗口是怎么理解的呢?o7F办公区 - 实用经验教程分享!

工具/原料

  • 按键精灵2014

方法/步骤

  • 1

    【父窗口与子窗口】o7F办公区 - 实用经验教程分享!

    o7F办公区 - 实用经验教程分享!

    每一个窗体form都是一个父窗口,它不是其他任一个窗体的子窗口.窗体上的所有控件,按钮等就是窗体的子窗口.一个窗口(除了窗体)既可能是父窗口,也可能是子窗口.比如窗体里面有一个frame,frame里面的控件就是frame的子窗口,但frame同时也是窗体的子窗口.就像容器里面装着容器.最大的那个容器就是窗体.每一个容器里面的东西就是其子窗口.o7F办公区 - 实用经验教程分享!

  • 2

    【常见的父窗口和子窗口的关系】o7F办公区 - 实用经验教程分享!

    o7F办公区 - 实用经验教程分享!

    【父窗口对应一个子窗口】o7F办公区 - 实用经验教程分享!

    o7F办公区 - 实用经验教程分享!

    1、有类名没有标题(有标题没有类名)o7F办公区 - 实用经验教程分享!

    例如:记事本,它只有一个子窗口,子窗口只有类名没有标题。o7F办公区 - 实用经验教程分享!

    学会用按键精灵获取子窗口句柄o7F办公区 - 实用经验教程分享!

  • 3

    我们要如何查找获取到这个子窗口的句柄呢?o7F办公区 - 实用经验教程分享!

    首先,我们先复习下按键里的获取子窗口句柄的命令。o7F办公区 - 实用经验教程分享!

    o7F办公区 - 实用经验教程分享!

    o7F办公区 - 实用经验教程分享!

    命令名称:o7F办公区 - 实用经验教程分享!

    FindEx查找子窗口o7F办公区 - 实用经验教程分享!

    o7F办公区 - 实用经验教程分享!

    o7F办公区 - 实用经验教程分享!

    命令功能:o7F办公区 - 实用经验教程分享!

    根据父窗口句柄查找子窗口匹配类名或者匹配标题o7F办公区 - 实用经验教程分享!

    o7F办公区 - 实用经验教程分享!

    o7F办公区 - 实用经验教程分享!

    命令参数:o7F办公区 - 实用经验教程分享!

    参数1整数型,父窗口句柄o7F办公区 - 实用经验教程分享!

    o7F办公区 - 实用经验教程分享!

    o7F办公区 - 实用经验教程分享!

    o7F办公区 - 实用经验教程分享!

    参数2整数型,子窗口句柄o7F办公区 - 实用经验教程分享!

    o7F办公区 - 实用经验教程分享!

    o7F办公区 - 实用经验教程分享!

    o7F办公区 - 实用经验教程分享!

    参数3字符串型,匹配类名o7F办公区 - 实用经验教程分享!

    o7F办公区 - 实用经验教程分享!

    o7F办公区 - 实用经验教程分享!

    o7F办公区 - 实用经验教程分享!

    参数4字符串型,匹配标题o7F办公区 - 实用经验教程分享!

    o7F办公区 - 实用经验教程分享!

    ㈠先要获取父窗口的句柄,然后根据父窗口的句柄来找子窗口。o7F办公区 - 实用经验教程分享!

    记事本父窗口的标题是:无标题-记事本类名是:Notepado7F办公区 - 实用经验教程分享!

    hwnd=Plugin.Window.find("Notepad","无标题-记事本")//获取记事本父窗口句柄o7F办公区 - 实用经验教程分享!

    ㈡获取到父窗口句柄之后,我们还需要知道子窗口的类名,类名为:Edito7F办公区 - 实用经验教程分享!

    zhwnd=Plugin.Window.findex(hwnd,0,"Edit",0)//获取子窗口句柄o7F办公区 - 实用经验教程分享!

    *这里子窗口句柄的值设置为0,可能会有很多童鞋很困惑,findex命令不就是获取子窗口句柄的吗?那这里还设置一个子窗口句柄的值干嘛?我要知道还要用findex来找吗?o7F办公区 - 实用经验教程分享!

    小编刚接触这个命令的时候,对于这个参数也非常疑惑,后来发现是这样的:o7F办公区 - 实用经验教程分享!

    findex命令里的子窗口句柄,指的是当前要查找的子窗口上面一个子窗口的句柄。o7F办公区 - 实用经验教程分享!

    学会用按键精灵获取子窗口句柄o7F办公区 - 实用经验教程分享!

  • 4

    例如上图:当我们要找创建时间这个子窗口的时候,findex命令里的子窗口句柄参数就设置为红框里子窗口的句柄。o7F办公区 - 实用经验教程分享!

    o7F办公区 - 实用经验教程分享!

    2、没有类名也没有标题o7F办公区 - 实用经验教程分享!

    父窗口下只有一个子窗口的情况,标题和类名不设置是可以的。o7F办公区 - 实用经验教程分享!

    hwnd=Plugin.Window.find(0,"无标题-记事本")o7F办公区 - 实用经验教程分享!

    zhwnd=Plugin.Window.findex(hwnd,0,0,0)o7F办公区 - 实用经验教程分享!

    TracePrintzhwndo7F办公区 - 实用经验教程分享!

    结果:o7F办公区 - 实用经验教程分享!

    学会用按键精灵获取子窗口句柄o7F办公区 - 实用经验教程分享!

  • 5

    【父窗口对应多个子窗口】o7F办公区 - 实用经验教程分享!

    1、多个子窗口的类名或标题不一样o7F办公区 - 实用经验教程分享!

    拿有道云笔记窗口作为例子:o7F办公区 - 实用经验教程分享!

    学会用按键精灵获取子窗口句柄o7F办公区 - 实用经验教程分享!

  • 6

    它的这两个子窗口的类名标题都不一样,这样的情况我们按照前面介绍的父窗口下只有一个子窗口的方式来查找就可以了。o7F办公区 - 实用经验教程分享!

    代码:o7F办公区 - 实用经验教程分享!

    hwnd=Plugin.Window.find(0,"有道云笔记Haiye")o7F办公区 - 实用经验教程分享!

    zhwnd=Plugin.Window.findex(hwnd,0,"NETEASEPOPO2007List",0)o7F办公区 - 实用经验教程分享!

    TracePrintzhwndo7F办公区 - 实用经验教程分享!

    o7F办公区 - 实用经验教程分享!

    结果:o7F办公区 - 实用经验教程分享!

    学会用按键精灵获取子窗口句柄o7F办公区 - 实用经验教程分享!

  • 7

    2、多个子窗口的类名或标题一样o7F办公区 - 实用经验教程分享!

    学会用按键精灵获取子窗口句柄o7F办公区 - 实用经验教程分享!

  • 8

    有道云笔记下的这两个子窗口的类名、标题都是一样的。o7F办公区 - 实用经验教程分享!

    hwnd=Plugin.Window.find(0,"有道云笔记Haiye")o7F办公区 - 实用经验教程分享!

    HwndEx=Plugin.Window.findex(hwnd,0,"Popo.UI.Controls.Class.SkinSplitter",0)o7F办公区 - 实用经验教程分享!

    上面的代码只能找到第一个类名为Popo.UI.Controls.Class.SkinSplitter的子窗口,第二个无法找到。这样的情况,该怎么找第二个呢?o7F办公区 - 实用经验教程分享!

    在前面我们提到过,findex里的子窗口句柄这个参数,在这里我们就可以利用它。o7F办公区 - 实用经验教程分享!

    o7F办公区 - 实用经验教程分享!

    思路如下:o7F办公区 - 实用经验教程分享!

    1、获取父窗口句柄o7F办公区 - 实用经验教程分享!

    2、获取第一个子窗口句柄o7F办公区 - 实用经验教程分享!

    3、根据父窗口句柄以及第一个子窗口句柄,获取第二个子窗口句柄o7F办公区 - 实用经验教程分享!

    o7F办公区 - 实用经验教程分享!

    代码:o7F办公区 - 实用经验教程分享!

    hwnd=Plugin.Window.find(0,"有道云笔记Haiye")o7F办公区 - 实用经验教程分享!

    HwndEx=Plugin.Window.findex(hwnd,0,"Popo.UI.Controls.Class.SkinSplitter",0)o7F办公区 - 实用经验教程分享!

    TracePrintHwndExo7F办公区 - 实用经验教程分享!

    HwndEx=Plugin.Window.findex(hwnd,HwndEx,"Popo.UI.Controls.Class.SkinSplitter",0)o7F办公区 - 实用经验教程分享!

    TracePrintHwndExo7F办公区 - 实用经验教程分享!

    o7F办公区 - 实用经验教程分享!

    结果:o7F办公区 - 实用经验教程分享!

    学会用按键精灵获取子窗口句柄o7F办公区 - 实用经验教程分享!

  • 9

    【子窗口下还有子窗口】o7F办公区 - 实用经验教程分享!

    例如按键抓抓窗口:o7F办公区 - 实用经验教程分享!

    学会用按键精灵获取子窗口句柄o7F办公区 - 实用经验教程分享!

    学会用按键精灵获取子窗口句柄o7F办公区 - 实用经验教程分享!

  • 9相关内容未经许可获取自百度经验
  • 10

    抓抓父窗口下类名为#32770的子窗口,它还有它的子窗口,我们如果要找#32770的子窗口下标题为句柄的窗口,该如何查找呢?o7F办公区 - 实用经验教程分享!

    思路:o7F办公区 - 实用经验教程分享!

    1、获取抓抓父窗口句柄o7F办公区 - 实用经验教程分享!

    2、根据父窗口句柄找#32770的子窗口句柄o7F办公区 - 实用经验教程分享!

    3、以#32770的子窗口作为父窗口,继续查找下一级子窗口o7F办公区 - 实用经验教程分享!

    o7F办公区 - 实用经验教程分享!

    代码:o7F办公区 - 实用经验教程分享!

    hwnd=Plugin.Window.find(0,"按键抓抓辅助工具2014.00.14006")o7F办公区 - 实用经验教程分享!

    zhwnd=Plugin.Window.findex(hwnd,0,"#32770",0)o7F办公区 - 实用经验教程分享!

    zzhwnd=Plugin.Window.findex(zhwnd,0,0,"句柄")o7F办公区 - 实用经验教程分享!

    TracePrintzzhwndo7F办公区 - 实用经验教程分享!

    o7F办公区 - 实用经验教程分享!

    结果:o7F办公区 - 实用经验教程分享!

    学会用按键精灵获取子窗口句柄o7F办公区 - 实用经验教程分享!

  • 以上方法由办公区教程网编辑摘抄自百度经验可供大家参考!o7F办公区 - 实用经验教程分享!


    标签: 操作系统学会精灵获取窗口

    办公区 Copyright © 2016-2023 www.bgqu.net. Some Rights Reserved. 备案号:湘ICP备2020019561号