按键精灵句柄窗口内的操作要怎么写,按键精灵 句柄 点击按钮
精灵官网如何获得子窗口的句柄?计算机的桌面是顶层窗口,桌面中的其他程序窗口是桌面的子窗口。父窗口和子窗口的理解是什么?如果不知道,可以参考下面按钮向导官网获取子窗口句柄的教程。
【父窗口与子窗口】
每个窗体都是父窗口,但不是任何其他窗体的子窗口。所有控件、按钮等。窗体上是窗体的子窗口。窗口(窗体除外)可以是父窗口,也可以是子窗口。例如,窗体中有一个框架,框架中的控件是框架的子窗口,但框架也是窗体的子窗口。就像一个容器里装满了容器。最大的容器是一个窗体.
[父窗口和子窗口之间的常见关系]
[父窗口对应于子窗口]
1.有类名没有标题(有标题没有类名)
比如记事本只有一个子窗口,子窗口只有类名没有标题。
我们如何找到这个子窗口的句柄?
首先,让我们回顾一下在键中获取子窗口句柄的命令。
命令名:
FindEx查找子窗口
命令功能:
根据父窗口句柄找到子窗口匹配的类名或匹配的标题。
命令参数:
1参数整数,父窗口句柄
2参数整数类型,子窗口句柄
3参数字符串类型,匹配类名
4参数字符串类型,匹配标题
(I)先获取父窗口的句柄,再根据父窗口的句柄找到子窗口。
记事本的父窗口标题为:无标题-记事本类名为:记事本
hwnd=plugin . window . find(Notepad,untitled-Notepad)//获取记事本父窗口的句柄
(二)在得到父窗口的句柄后,我们还需要知道子窗口的类名,即:Edit。
HWND=plugin.window.findex (HWND,0,edit,0)//获取子窗口的句柄
*这里将子窗口句柄的值设置为0,可能会混淆很多童鞋。findex命令不就是为了获取子窗口句柄吗?那为什么要在这里设置一个子窗口句柄的值呢?我想知道。我必须使用findex才能找到它吗?
[!- empirenews.page - ]
当边肖第一次接触到这个命令时,她也对这个参数感到非常困惑。后来,她发现是这样的:
findex命令中子窗口的句柄是指当前搜索的子窗口上面的子窗口的句柄。
举个例子,如上图所示,当我们要查找这个子窗口的创建时间时,findex命令中的子窗口句柄参数设置为红框中的子窗口的句柄。
2.没有类名或标题
如果父窗口下只有一个子窗口,设置标题和类名就可以了。
Hwnd=插件。Window.find(0,无标题-记事本)
zhwnd=插件。Window.findex(hwnd,0,0,0)
TracePrint zhwnd
结果:
[父窗口对应多个子窗口]
1.多个子窗口的类名或标题是不同的。
以陶云笔记窗口为例:
两个子窗口的类名和标题是不同的。这种情况下,我们只要按照前面介绍的父窗口下只有一个子窗口的方式去找就可以了。
代码:
Hwnd=插件。Window.find(0,有云注海爷)
zhwnd=插件。Window.findex(hwnd,0,网易POPO2007列表,0)
TracePrint zhwnd
[!- empirenews.page - ]
结果:
2.多个子窗口的类名或标题相同。
有道笔记下这两个子窗口的类名和标题是一样的。
Hwnd=插件。Window.find(0,有云注海爷)
HwndEx=插件。Window.findex(hwnd,0,予言。UI.Controls.Class.SkinSplitter,0)
上面的代码只能找到类名为Popo . ui . controls . class . skin splitter的第一个子窗口,找不到第二个。在这种情况下,如何找到第二个?
如前所述,这里可以使用findex中的子窗口句柄参数。
想法如下:
1.获取父窗口的句柄。
2.获取第一个子窗口的句柄。
3.根据父窗口句柄和第一子窗口句柄,获取第二子窗口句柄。
代码:
Hwnd=插件。Window.find(0,有云注海爷)
插件。Window.findex(hwnd,0,予言。UI.Controls.Class.SkinSplitter,0)
TracePrint HwndEx
HwndEx=插件。Window.findex(予言hwnd,HwndEx。UI.Controls.Class.SkinSplitter,0)
TracePrint HwndEx
[!- empirenews.page - ]
结果:
[子窗口下有子窗口]
例如,“关键暂存”窗口:
在父窗口下抓取类名为#32770的子窗口。它也有它的子窗口。如果想找到#32770的子窗口,怎么找呢?
思路:
1.获取临时父窗口的句柄。
2.根据父窗口句柄找到#32770的子窗口句柄。
3.以#32770的子窗口为父窗口,继续寻找下一个子窗口。
代码:
Hwnd=插件。Window.find(0,按键暂存2014.00.14006)
zhwnd=插件。Window.findex(hwnd,0,#32770,0)
ZHWND=plugin . window . findex(ZHWND,0,0,handle)
TracePrint zzhwnd