窗口插件增强版V651说明资料.docx
- 文档编号:11143516
- 上传时间:2023-02-25
- 格式:DOCX
- 页数:86
- 大小:33.47KB
窗口插件增强版V651说明资料.docx
《窗口插件增强版V651说明资料.docx》由会员分享,可在线阅读,更多相关《窗口插件增强版V651说明资料.docx(86页珍藏版)》请在冰豆网上搜索。
窗口插件增强版V651说明资料
命令名称:
GetForegroundWindow获得当前窗口句柄
命令功能:
获得当前窗口的窗口句柄。
命令参数:
返回值:
长整型数。
当前窗口的窗口句柄。
脚本例子:
(8.x语法)
hwnd=Plugin.WndEx6_51.GetForegroundWindow()
MsgBox"当前窗口句柄:
"&CStr(hwnd),4096
脚本例子:
(7.x语法)
Pluginhwnd=WndEx6_51.GetForegroundWindow()
MsgBox"当前窗口句柄:
"&CStr(hwnd),4096
命令名称:
GetForegroundFocus获得当前拥有焦点的窗口句柄
命令功能:
获得当前拥有焦点的窗口的窗口句柄,和Window插件的GetKeyFocusWnd命令功能类似。
命令参数:
返回值:
长整型数。
当前拥有焦点的窗口的窗口句柄。
脚本例子:
(8.x语法)
hwnd=Plugin.WndEx6_51.GetForegroundFocus()
MsgBox"当前拥有焦点的窗口句柄:
"&CStr(hwnd),4096
脚本例子:
(7.x语法)
Pluginhwnd=WndEx6_51.GetForegroundFocus()
MsgBox"当前拥有焦点的窗口句柄:
"&CStr(hwnd),4096
命令名称:
GetMousePointWindow获得鼠标指向的窗口句柄
命令功能:
获得鼠标指向的窗口的窗口句柄。
命令参数:
返回值:
长整型数。
鼠标指向的窗口的窗口句柄。
脚本例子:
(8.x语法)
hwnd=Plugin.WndEx6_51.GetMousePointWindow()
MsgBox"鼠标指向的窗口的窗口句柄:
"&CStr(hwnd),4096
脚本例子:
(7.x语法)
Pluginhwnd=WndEx6_51.GetMousePointWindow()
MsgBox"鼠标指向的窗口的窗口句柄:
"&CStr(hwnd),4096
命令名称:
GetMousePointWindowS获得鼠标指向的窗口句柄
命令功能:
获得鼠标指向的窗口的窗口句柄。
可以取到GetMousePointWindow取不到的窗口的窗口句柄,由于多了个参数,功能也更强大。
命令参数:
参数1 过滤条件:
长整型数。
取值可以是下面的一个或多个,不用时可取0。
如果要同时使用多个值,可将多个值做或运算。
可取值:
值
说明
1
跳过不可见顶层窗口
2
跳过不可见子窗口
4
跳过不可用顶层窗口
8
跳过不可用子窗口
16
跳过鼠标可穿透顶层窗口
32
跳过全透明且鼠标可穿透顶层窗口
16384
只取顶层窗口
返回值:
长整型数。
鼠标指向的窗口的窗口句柄。
脚本例子:
(8.x语法)
//GetMousePointWindowS的过滤条件中的“跳过不可见顶层窗口”和“跳过全透明且鼠标可穿透顶层窗口”建议使用,否则容易取到一些不可见的顶层窗口的窗口句柄
hwnd=Plugin.WndEx6_51.GetMousePointWindowS(1Or32Or16384)
MsgBox"鼠标指向的顶层窗口的窗口句柄:
"&CStr(hwnd),4096
脚本例子:
(7.x语法)
//GetMousePointWindowS的过滤条件中的“跳过不可见顶层窗口”和“跳过全透明且鼠标可穿透顶层窗口”建议使用,否则容易取到一些不可见的顶层窗口的窗口句柄
Pluginhwnd=WndEx6_51.GetMousePointWindowS(1Or32Or16384)
MsgBox"鼠标指向的顶层窗口的窗口句柄:
"&CStr(hwnd),4096
命令名称:
GetPointWindow获得包含了指定点的窗口句柄
命令功能:
获得包含了指定点的窗口句柄。
命令参数:
参数1 横坐标:
长整型数。
屏幕横坐标。
参数2 纵坐标:
长整型数。
屏幕纵坐标。
返回值:
长整型数。
屏幕上指定点的窗口的窗口句柄。
脚本例子:
(8.x语法)
hwnd=Plugin.WndEx6_51.GetPointWindow(100,50)
MsgBox"屏幕坐标(100,50)处的窗口的窗口句柄:
"&CStr(hwnd),4096
脚本例子:
(7.x语法)
Pluginhwnd=WndEx6_51.GetPointWindow(100,5)
MsgBox"屏幕坐标(100,50)处的窗口的窗口句柄:
"&CStr(hwnd),4096
命令名称:
GetPointWindowS获得包含了指定点的窗口句柄
命令功能:
获得包含了指定点的窗口句柄。
可以取到GetPointWindow取不到的窗口的窗口句柄,由于多了个参数,功能也更强大。
命令参数:
参数1 横坐标:
长整型数。
屏幕横坐标。
参数2 纵坐标:
长整型数。
屏幕纵坐标。
参数3 过滤条件:
长整型数。
取值可以是下面的一个或多个,不用时可取0。
如果要同时使用多个值,可将多个值做或运算。
可取值:
值
说明
1
跳过不可见顶层窗口
2
跳过不可见子窗口
4
跳过不可用顶层窗口
8
跳过不可用子窗口
16
跳过鼠标可穿透顶层窗口
32
跳过全透明且鼠标可穿透顶层窗口
16384
只取顶层窗口
返回值:
长整型数。
屏幕上指定点的窗口的窗口句柄。
脚本例子:
(8.x语法)
//GetPointWindowS的过滤条件中的“跳过不可见顶层窗口”和“跳过全透明且鼠标可穿透顶层窗口”建议使用,否则容易取到一些不可见的顶层窗口的窗口句柄
hwnd=Plugin.WndEx6_51.GetPointWindowS(100,50,1Or32Or16384)
MsgBox"屏幕坐标(100,50)处的顶层窗口的窗口句柄:
"&CStr(hwnd),4096
脚本例子:
(7.x语法)
//GetPointWindowS的过滤条件中的“跳过不可见顶层窗口”和“跳过全透明且鼠标可穿透顶层窗口”建议使用,否则容易取到一些不可见的顶层窗口的窗口句柄
Pluginhwnd=WndEx6_51.GetPointWindowS(100,5,1Or32Or16384)
MsgBox"屏幕坐标(100,50)处的顶层窗口的窗口句柄:
"&CStr(hwnd),4096
命令名称:
EnumWindowA获得符合条件的所有窗口句柄
命令功能:
获得符合条件的所有窗口的窗口句柄。
命令参数:
参数1 父窗口句柄:
长整型数。
该参数不为0时,获得该窗口的子窗口的窗口句柄。
取0时为获得顶层窗口的窗口句柄。
参数2 窗口标题:
整型数0或字符串。
为搜索条件,取整型数0时不过滤窗口标题。
参数3 窗口类名:
整型数0或字符串。
为搜索条件,取整型数0时不过滤窗口类名。
参数4 过滤条件:
长整型数。
取值可以是下面的一个或多个,不用时可取0。
如果要同时使用多个值,可将多个值做或运算。
可取值:
值
说明
1
标题匹配,使用此值时,可以使用“?
”和“*”进行模糊搜索窗口标题,“?
”代表一个任意字符,“*”代表0个或者多个任意字符。
2
类名匹配,和标题匹配类似。
4
仅下一级子窗口。
父窗口句柄不为0时,如果使用此值,获得的是父窗口的所有下级子窗口;如果不使用此值,获得的是父窗口句柄的所有子窗口,包括子窗口的子窗口。
8
排除所有者窗口,如果使用此值,获得的窗口都无所有者窗口。
16
窗口必须可见,如果使用此值,获得的窗口都是可见窗口。
64
和取值8时相反,不可与值8同时使用。
128
和取值16时相反,不可与值16同时使用。
65536
使用另一种历遍方法,因为曾经遇到几个游戏用常用的历遍方法取不到它们的窗口句柄,用这个方法就没问题,但平常不推荐使用此历遍方法,它可能导致程序进入死循环。
返回值:
一维长整型数数组,找到窗口时返回窗口句柄数组,未找到和失败时返回的是大小为0的一维数组。
脚本例子:
(8.x语法)
RunApp"notepad.exe"
RunApp"notepad.exe"
RunApp"notepad.exe"
Delay1000
HwndArray=Plugin.WndEx6_51.EnumWindowA(0,0,"Notepad",0)
n=UBound(HwndArray)
Ifn=-1Then
MsgBox"记事本窗口未找到",4096
Else
str=CStr(HwndArray(0))
i=1
Forn
str=str&","&CStr(HwndArray(i))
i=i+1
Next
MsgBox"找到记事本窗口"&CStr(n+1)&"个,窗口句柄如下:
"&vbCrLf&str,4096
EndIf
脚本例子:
(7.x语法)
RunApp"notepad.exe"
RunApp"notepad.exe"
RunApp"notepad.exe"
Delay1000
PluginHwndArray=WndEx6_51.EnumWindowA(0,0,"Notepad",0)
n=UBound(HwndArray)
Ifn=-1
MsgBox"记事本窗口未找到",4096
Else
str=CStr(HwndArray(0))
i=1
Forn
str=str&","&CStr(HwndArray(i))
i=i+1
EndFor
MsgBox"找到记事本窗口"&CStr(n+1)&"个,窗口句柄如下:
"&vbCrLf&str,4096
EndIf
命令名称:
EnumWindowT获得符合条件的所有顶层窗口句柄
命令功能:
获得符合条件的所有顶层窗口的窗口句柄。
命令参数:
参数1 窗口标题:
整型数0或字符串。
为搜索条件,取整型数0时不过滤窗口标题。
参数2 窗口类名:
整型数0或字符串。
为搜索条件,取整型数0时不过滤窗口类名。
参数3 进程名或进程ID:
整型数或字符串。
为搜索条件,进程名用字符串,进程ID用整数,不过滤进程名和进程ID时用整数0。
参数4 窗口图标数据:
整型数0或字符串。
为搜索条件,取整型数0时不过滤窗口图标数据。
此数据可用本插件中的GetWindowIconData函数获得。
有的程序在屏幕颜色分别为32位时和16位时启动程序获得的程序窗口图标数据不相同,这时候可以在屏幕颜色为32位时和16位时分别启动窗口程序,获得它们的窗口图标数据,这时可以将它们连接起来,用“|”号将它们分隔,这时符合任意一种情况均认为符合条件。
参数5 过滤条件:
长整型数。
取值可以是下面的一个或多个,不用时可取0。
如果要同时使用多个值,可将多个值做或运算。
可取值:
值
说明
1
标题匹配,使用此值时,可以使用“?
”和“*”进行模糊搜索窗口标题,“?
”代表一个任意字符,“*”代表0个或者多个任意字符。
2
类名匹配,和标题匹配类似。
8
排除所有者窗口,如果使用此值,获得的窗口都无所有者窗口。
16
窗口必须可见,如果使用此值,获得的窗口都是可见窗口。
64
和取值8时相反,不可与值8同时使用。
128
和取值16时相反,不可与值16同时使用。
256
只取主窗口的窗口句柄,过滤条件模仿Windows任务管理器的应用程序列表。
使用此值时,值8、16、64、128无效。
部分程序的窗口常常有些非主窗口用前面的方法很难过滤掉,这时可以试下这个值。
此方法有可能过滤过度导致找不到窗口。
65536
使用另一种历遍方法,因为曾经遇到几个游戏用常用的历遍方法取不到它们的窗口句柄,用这个方法就没问题,但平常不推荐使用此历遍方法,它可能导致程序进入死循环。
返回值:
一维长整型数数组,找到窗口时返回窗口句柄数组,未找到和失败时返回的是大小为0的一维数组。
脚本例子:
(8.x语法)
RunApp"notepad.exe"
RunApp"notepad.exe"
RunApp"notepad.exe"
Delay1000
HwndArray=Plugin.WndEx6_51.EnumWindowT(0,0,"notepad.exe",0,16)
n=UBound(HwndArray)
Ifn=-1Then
MsgBox"记事本窗口未找到",4096
Else
str=CStr(HwndArray(0))
i=1
Forn
str=str&","&CStr(HwndArray(i))
i=i+1
Next
MsgBox"找到记事本窗口"&CStr(n+1)&"个,窗口句柄如下:
"&vbCrLf&str,4096
EndIf
脚本例子:
(7.x语法)
RunApp"notepad.exe"
RunApp"notepad.exe"
RunApp"notepad.exe"
Delay1000
PluginHwndArray=WndEx6_51.EnumWindowT(0,0,"notepad.exe",0,16)
n=UBound(HwndArray)
Ifn=-1
MsgBox"记事本窗口未找到",4096
Else
str=CStr(HwndArray(0))
i=1
Forn
str=str&","&CStr(HwndArray(i))
i=i+1
EndFor
MsgBox"找到记事本窗口"&CStr(n+1)&"个,窗口句柄如下:
"&vbCrLf&str,4096
EndIf
命令名称:
FindWindow查找窗口
命令功能:
根据窗口类名和窗口标题查找顶层窗口,模仿FindWindow这个系统API,但比它更强,能使用匹配查找和抗屏蔽。
这个函数只能获得符合条件的第一个窗口句柄,如果要获得下一个可以使用本插件中的FindWindowEx函数。
需要更强大的查找顶层窗口功能,可以使用本插件中的EnumWindowA函数或EnumWindowT函数。
命令参数:
参数1 窗口标题:
整型数0或字符串。
为搜索条件,取整型数0时不过滤窗口标题。
可以使用“?
”和“*”进行模糊搜索窗口标题,“?
”代表一个任意字符,“*”代表0个或者多个任意字符。
参数2 窗口类名:
整型数0或字符串。
为搜索条件,取整型数0时不过滤窗口类名。
可以使用“?
”和“*”进行模糊搜索窗口类名,“?
”代表一个任意字符,“*”代表0个或者多个任意字符。
返回值:
整型数。
返回找到的第一个符合条件的窗口句柄,找不到时返回0。
脚本例子:
(8.x语法)
hwnd=Plugin.WndEx6_51.FindWindow("Notepad","*-记事本")
MsgBox"查找到的窗口句柄:
"&CStr(hwnd),4096
脚本例子:
(7.x语法)
Pluginhwnd=WndEx6_51.FindWindow("Notepad","*-记事本")
MsgBox"查找到的窗口句柄:
"&CStr(hwnd),4096
命令名称:
FindWindowEx查找窗口
命令功能:
根据窗口类名和窗口标题查找顶层窗口或子窗口,模仿FindWindowEx这个系统API,但比它更强,能使用匹配查找和抗屏蔽。
需要更强大的查找窗口功能,可以使用本插件中的EnumWindowA函数或EnumWindowT函数。
命令参数:
参数1 父窗口句柄:
整型数。
要查找顶层窗口,该值取0;要查找某窗口的子窗口,该值取某窗口的窗口句柄。
参数2 子窗口句柄:
整型数。
查找下一个窗口。
要查找第一个符合条件的窗口,该值取0;要查找某窗口的下一个符合条件的窗口,该值取某窗口的窗口句柄。
参数3 窗口标题:
整型数0或字符串。
为搜索条件,取整型数0时不过滤窗口标题。
可以使用“?
”和“*”进行模糊搜索窗口标题,“?
”代表一个任意字符,“*”代表0个或者多个任意字符。
参数4 窗口类名:
整型数0或字符串。
为搜索条件,取整型数0时不过滤窗口类名。
可以使用“?
”和“*”进行模糊搜索窗口类名,“?
”代表一个任意字符,“*”代表0个或者多个任意字符。
返回值:
整型数。
返回找到的符合条件的窗口句柄,找不到时返回0。
脚本例子:
(8.x语法)
Dimstr,hwnd
str=""
hwnd=Plugin.WndEx6_51.FindWindowEx(0,0,"Notepad","*-记事本")
DoWhilehwnd<>0
str=str&CStr(hwnd)&","
hwnd=Plugin.WndEx6_51.FindWindowEx(0,hwnd,"Notepad","*-记事本")
Loop
MsgBox"查找到的全部窗口句柄:
"&str,4096
脚本例子:
(7.x语法)
Dimstr,hwnd
str=""
Pluginhwnd=WndEx6_51.FindWindowEx(0,0,"Notepad","*-记事本")
Whilehwnd<>0
str=str&CStr(hwnd)&","
Pluginhwnd=WndEx6_51.FindWindowEx(0,hwnd,"Notepad","*-记事本")
EndWhile
MsgBox"查找到的全部窗口句柄:
"&str,4096
命令名称:
FindWindowId根据窗口ID查找子窗口
命令功能:
根据子窗口的窗口ID查找子窗口
命令参数:
参数1 窗口句柄:
整型数。
要查找的子窗口的父窗口的窗口句柄。
参数2 窗口ID:
整型数。
要查找的子窗口的窗口ID。
可以用GetWindowInfo函数获得指定窗口的窗口ID,可以用SetWindowId函数修改指定窗口的窗口ID。
返回值:
整型数。
返回找到的第一个符合条件的窗口句柄,找不到时返回0。
脚本例子:
(8.x语法)
hwnd=Plugin.WndEx6_51.FindWindow("Notepad","*-记事本")
hwndEdit=Plugin.WndEx6_51.FindWindowId(hwnd,15)
MsgBox"查找到的窗口句柄:
"&CStr(hwndEdit),4096
脚本例子:
(7.x语法)
Pluginhwnd=WndEx6_51.FindWindow("Notepad","*-记事本")
PluginhwndEdit=WndEx6_51.FindWindowId(hwnd,15)
MsgBox"查找到的窗口句柄:
"&CStr(hwndEdit),4096
命令名称:
FindChildWindowZOrder根据窗口Z序查找子窗口
命令功能:
根据过滤条件和由过滤条件生成的Z序查找子窗口。
注意:
此方式对于有子窗口创建和销毁或者Z序变化的窗口来说,这种查找子窗口的方法不可靠。
命令参数:
参数1 父窗口句柄:
长整型数。
参数2 窗口类名:
整型数0或字符串。
要查找的子窗口的窗口类名,为查找条件,取整型数0时不过滤窗口类名。
参数3 窗口Z序:
长整型数。
要查找的子窗口由过滤条件生成的Z序。
Z序值可由GetChildWindowZOrder函数生成。
参数4 过滤条件:
长整型数。
取值可以是下面的一个或多个,不用时可取0。
如果要同时使用多个值,可将多个值做或运算。
可取值:
值
说明
1
仅下一级子窗口。
如果使用此值,搜索的是父窗口的所有下级子窗口;如果不使用此值,搜索的是父窗口句柄的所有子窗口,包括子窗口的子窗口。
2
类名匹配,使用此值时,可以使用“?
”和“*”进行模糊搜索窗口类名,“?
”代表一个任意字符,“*”代表0个或者多个任意字符。
返回值:
长整型数。
获得的符合条件的子窗口的Z序。
失败返回-1。
脚本例子:
(8.x语法)
hwndParent=Plugin.WndEx6_51.FindWindow("CalcFrame","计算器")
hwnd=Plugin.WndEx6_51.FindChildWindowZOrder(hwndParent,"Button",8,0)
MsgBox"计算器第8个按钮的窗口句柄:
"&CStr(hwnd),4096
脚本例子:
(7.x语法)
PluginhwndParent=WndEx6_51.FindWindow("CalcFrame","计算器")
Pluginhwnd=WndEx6_51.FindChildWindowZOrder(hwndParent,"Button",8,0)
MsgBox"计算器第8个按钮的窗口句柄:
"&CStr(hwnd),4096
命令名称:
GetWindowInfo获得窗口信息
命令功能:
获得窗口信息。
命令参数:
参数1 窗口句柄:
长整型数。
参数2 信息代码:
长整型数。
根据信息代码的取值不同,从函数返回值可获得不同的窗口信息。
可取值:
值
说明
0
获得窗口标题,返回值为字符串。
相关函数:
SetWindowText。
1
获得窗口类名,返回值为字符串。
2
获得窗口边框范围,返回值为一维数组,分别表示左上角横坐标、左上角纵坐标、右下角横坐标、右下角角纵坐标。
相关函数:
SetWindowSize、MoveWindow。
3
获得客户区范围,返回值为一维数组,分别表示左上角横坐标、左上角纵坐标、右下角横坐标、右下角角纵坐标。
相关函数:
SetClientSize。
4
获得窗口ID,返回值为长整形数。
相关函数:
FindWindowId、SetWindowId。
5
获得窗口的线程ID,返回值为长整形数。
6
获得窗口的进程ID,返回值为长整形数。
7
获得窗口程序路径,返回值为字符串。
8
获得窗口进程名(与任务管理器中进程选项卡的映像名称相同),返回值为字符串。
返回值:
由信息代码决定
脚本例子:
(8.x语法)
hwnd=Plugin.WndEx6_51.GetMousePointWindowS(1Or32)
WinCaption=Plugin.WndEx6
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 窗口 插件 增强 V651 说明 资料