命令名称: GetForegroundWindow 获得当前窗口句柄
命令功能: 获得当前窗口的窗口句柄。
命令参数:  
返回值: 长整型数。当前窗口的窗口句柄。
脚本例子:
(8.x语法)
hwnd = Plugin.WNDEX7~1.GetForegroundWindow()
MsgBox "当前窗口句柄:" & CStr(hwnd), 4096
命令名称: GetForegroundFocus 获得当前拥有焦点的窗口句柄
命令功能: 获得当前拥有焦点的窗口的窗口句柄,和Window插件的GetKeyFocusWnd命令功能类似。
命令参数:  
返回值: 长整型数。当前拥有焦点的窗口的窗口句柄。
脚本例子:
(8.x语法)
hwnd = Plugin.WNDEX7~1.GetForegroundFocus()
MsgBox "当前拥有焦点的窗口句柄:" & CStr(hwnd), 4096
命令名称: GetMousePointWindow 获得鼠标指向的窗口句柄
命令功能: 获得鼠标指向的窗口的窗口句柄。
命令参数:  
返回值: 长整型数。鼠标指向的窗口的窗口句柄。
脚本例子:
(8.x语法)
hwnd = Plugin.WNDEX7~1.GetMousePointWindow()
MsgBox "鼠标指向的窗口的窗口句柄:" & CStr(hwnd), 4096
命令名称: GetMousePointWindowS 获得鼠标指向的窗口句柄
命令功能: 获得鼠标指向的窗口的窗口句柄。可以取到GetMousePointWindow取不到的窗口的窗口句柄,由于多了个参数,功能也更强大。
命令参数: 参数1 过滤条件:长整型数。取值可以是下面的一个或多个,不用时可取0。如果要同时使用多个值,可将多个值做或运算或者加法运算。可取值:
说明
1 跳过不可见顶层窗口
2 跳过不可见子窗口
4 跳过不可用顶层窗口
8 跳过不可用子窗口
16

跳过鼠标可穿透顶层窗口

32 跳过全透明且鼠标可穿透顶层窗口
16384 只取顶层窗口
返回值: 长整型数。鼠标指向的窗口的窗口句柄。
脚本例子:
(8.x语法)
//GetMousePointWindowS的过滤条件中的“跳过不可见顶层窗口”和“跳过全透明且鼠标可穿透顶层窗口”建议使用,否则容易取到一些不可见的顶层窗口的窗口句柄
hwnd = Plugin.WNDEX7~1.GetMousePointWindowS(1 Or 32 Or 16384)
MsgBox "鼠标指向的顶层窗口的窗口句柄:" & CStr(hwnd), 4096
命令名称: GetPointWindow 获得包含了指定点的窗口句柄
命令功能: 获得包含了指定点的窗口句柄。
命令参数: 参数1 横坐标:长整型数。屏幕横坐标。
参数2 纵坐标:长整型数。屏幕纵坐标。
返回值: 长整型数。屏幕上指定点的窗口的窗口句柄。
脚本例子:
(8.x语法)
hwnd = Plugin.WNDEX7~1.GetPointWindow(100,50)
MsgBox "屏幕坐标(100,50)处的窗口的窗口句柄:" & CStr(hwnd), 4096
命令名称: GetPointWindowS 获得包含了指定点的窗口句柄
命令功能: 获得包含了指定点的窗口句柄。可以取到GetPointWindow取不到的窗口的窗口句柄,由于多了个参数,功能也更强大。
命令参数: 参数1 横坐标:长整型数。屏幕横坐标。
参数2 纵坐标:长整型数。屏幕纵坐标。
参数3 过滤条件:长整型数。取值可以是下面的一个或多个,不用时可取0。如果要同时使用多个值,可将多个值做或运算或者加法运算。可取值:
说明
1 跳过不可见顶层窗口
2 跳过不可见子窗口
4 跳过不可用顶层窗口
8 跳过不可用子窗口
16 跳过鼠标可穿透顶层窗口
32 跳过全透明且鼠标可穿透顶层窗口
16384 只取顶层窗口
返回值: 长整型数。屏幕上指定点的窗口的窗口句柄。
脚本例子:
(8.x语法)
//GetPointWindowS的过滤条件中的“跳过不可见顶层窗口”和“跳过全透明且鼠标可穿透顶层窗口”建议使用,否则容易取到一些不可见的顶层窗口的窗口句柄
hwnd = Plugin.WNDEX7~1.GetPointWindowS(100,50,1 Or 32 Or 16384)
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"
Delay 1000
HwndArray = Plugin.WNDEX7~1.EnumWindowA(0,0,"Notepad",0)
n = UBound(HwndArray)
If n=-1 Then
    MsgBox "记事本窗口未找到", 4096
Else
    str = CStr(HwndArray(0))
    i = 1
    For n
        str = str & "," & CStr(HwndArray(i))
        i = i + 1
    Next
    MsgBox "找到记事本窗口" & CStr(n+1) & "个,窗口句柄如下:" & vbCrLf & str, 4096
End If
命令名称: 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"
Delay 1000
HwndArray = Plugin.WNDEX7~1.EnumWindowT(0,0,"notepad.exe",0,16)
n = UBound(HwndArray)
If n=-1 Then
    MsgBox "记事本窗口未找到", 4096
Else
    str = CStr(HwndArray(0))
    i = 1
    For n
        str = str & "," & CStr(HwndArray(i))
        i = i + 1
    Next
    MsgBox "找到记事本窗口" & CStr(n+1) & "个,窗口句柄如下:" & vbCrLf & str, 4096
End If
命令名称: FindWindow 查找窗口
命令功能: 根据窗口类名和窗口标题查找顶层窗口,模仿FindWindow这个系统API,但比它更强,能使用匹配查找和抗屏蔽。这个函数只能获得符合条件的第一个窗口句柄,如果要获得下一个可以使用本插件中的FindWindowEx函数。需要更强大的查找顶层窗口功能,可以使用本插件中的EnumWindowA函数或EnumWindowT函数。
命令参数: 参数1 窗口类名:整型数0或字符串。为搜索条件,取整型数0时不过滤窗口类名。可以使用“?”和“*”进行模糊搜索窗口类名,“?”代表一个任意字符,“*”代表0个或者多个任意字符。
参数2 窗口标题:整型数0或字符串。为搜索条件,取整型数0时不过滤窗口标题。可以使用“?”和“*”进行模糊搜索窗口标题,“?”代表一个任意字符,“*”代表0个或者多个任意字符。
返回值: 整型数。返回找到的第一个符合条件的窗口句柄,找不到时返回0。
脚本例子:
(8.x语法)
hwnd = Plugin.WNDEX7~1.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语法)

Dim str,hwnd
str = ""
hwnd = Plugin.WNDEX7~1.FindWindowEx(0,0,"Notepad","* - 记事本")
Do While hwnd <> 0
    str = str & CStr(hwnd) & ","
    hwnd = Plugin.WNDEX7~1.FindWindowEx(0,hwnd,"Notepad","* - 记事本")
Loop
MsgBox "查找到的全部窗口句柄:" & str,4096

命令名称: FindWindowId 根据窗口ID查找子窗口
命令功能: 根据子窗口的窗口ID查找子窗口
命令参数: 参数1 窗口句柄:整型数。要查找的子窗口的父窗口的窗口句柄。
参数2 窗口ID:整型数。要查找的子窗口的窗口ID。可以用GetWindowInfo函数获得指定窗口的窗口ID,可以用SetWindowId函数修改指定窗口的窗口ID。
返回值: 整型数。返回找到的第一个符合条件的窗口句柄,找不到时返回0。
脚本例子:
(8.x语法)
hwnd = Plugin.WNDEX7~1.FindWindow("Notepad","* - 记事本")
hwndEdit = Plugin.WNDEX7~1.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.WNDEX7~1.FindWindow("CalcFrame","计算器")
hwnd = Plugin.WNDEX7~1.FindChildWindowZOrder(hwndParent,"Button",8,0)
MsgBox "计算器第8个按钮的窗口句柄:" & CStr(hwnd), 4096

命令名称: GetWindowInfo 获得窗口信息
命令功能: 获得窗口信息。
命令参数: 参数1 窗口句柄:长整型数。
参数2 信息代码:长整型数。根据信息代码的取值不同,从函数返回值可获得不同的窗口信息。可取值:
说明
0 获得窗口标题。返回值为字符串。相关函数:SetWindowText
1 获得窗口类名。返回值为字符串。
2 获得窗口边框范围。获得的是屏幕坐标。返回值为一维数组,分别表示左上角横坐标、左上角纵坐标、右下角横坐标、右下角角纵坐标。相关函数:SetWindowSizeMoveWindow
3 获得客户区范围。获得的是屏幕坐标。返回值为一维数组,分别表示左上角横坐标、左上角纵坐标、右下角横坐标、右下角角纵坐标。相关函数:SetClientSize
4 获得窗口ID。返回值为长整形数。相关函数:FindWindowIdSetWindowId
5 获得窗口的线程ID。返回值为长整形数。
6 获得窗口的进程ID。返回值为长整形数。
7 获得窗口程序路径。返回值为字符串。
8 获得窗口进程名(与任务管理器中进程选项卡的映像名称相同)。返回值为字符串。
9 获得窗口坐标。如果该窗口是顶层窗口,获得的是屏幕坐标;如果该窗口是子窗口,获得的是父窗口的窗口客户区坐标。返回值为一维数组,分别表示左上角横坐标、左上角纵坐标。相关函数:MoveWindow
10 获得窗口的进程是否64位进程。返回值为布尔值。
返回值: 由信息代码决定
脚本例子:
(8.x语法)

hwnd = Plugin.WNDEX7~1.GetMousePointWindowS(1 Or 32)
WinCaption = Plugin.WNDEX7~1.GetWindowInfo(hwnd,0)
WinClass = Plugin.WNDEX7~1.GetWindowInfo(hwnd,1)
WinRect = Plugin.WNDEX7~1.GetWindowInfo(hwnd,2)
ClientRect = Plugin.WNDEX7~1.GetWindowInfo(hwnd,3)
WinID = Plugin.WNDEX7~1.GetWindowInfo(hwnd,4)
PID = Plugin.WNDEX7~1.GetWindowInfo(hwnd,5)
TID = Plugin.WNDEX7~1.GetWindowInfo(hwnd,6)
ExePath = Plugin.WNDEX7~1.GetWindowInfo(hwnd,7)
ProcessName = Plugin.WNDEX7~1.GetWindowInfo(hwnd,8)
WinPos = Plugin.WNDEX7~1.GetWindowInfo(hwnd,9)
MsgBox "目标窗口的窗口句柄:" & hwnd & vbCrLf & "窗口标题:" & WinCaption & vbCrLf & "窗口类名:" & WinClass & vbCrLf & "窗口边框范围:" & WinRect(0) & "," & WinRect(1) & "," & WinRect(2) & "," & WinRect(3) & vbCrLf & "客户区范围:" & ClientRect(0) & "," & ClientRect(1) & "," & ClientRect(2) & "," & ClientRect(3) & vbCrLf & "窗口ID:" & WinID & vbCrLf & "窗口的进程ID:" & PID & vbCrLf & "窗口的线程ID:" & TID & vbCrLf & "程序路径:" & ExePath & vbCrLf & "进程名:" & ProcessName & vbCrLf & "窗口坐标:" & WinPos(0) & "," & WinPos(1), 4096, "鼠标所指窗口信息"

命令名称: GetWindowState 获得窗口状态
命令功能: 获得窗口状态。可以用SetWindowState函数可设置窗口状态。
命令参数: 参数1 窗口句柄:长整型数。
参数2 信息代码:长整型数。根据信息代码的取值不同,从函数返回值可判断各种窗口状态。可取值:
说明
0 窗口是否存在
1 窗口是否在被激活状态
2 窗口是否可见
3 窗口是否可用
4 窗口是否最小化
5 窗口是否最大化
6 窗口是否置顶
7 窗口是否只读(用于文本框)
8 窗口是否为Unicode窗口
9 窗口是否无响应
返回值: 布尔型,也就是只有True和False两种状态的数据类型。
脚本例子:
(8.x语法)
hwnd = Plugin.WNDEX7~1.GetForegroundWindow()
If Plugin.WNDEX7~1.GetWindowState(hwnd,6) Then
    MsgBox "当前窗口已置顶", 4096
Else
    MsgBox "当前窗口未置顶", 4096
End If
命令名称: GetWindow 获得相关窗口
命令功能: 获得与给定窗口相关的窗口。
命令参数: 参数1 窗口句柄:长整型数。
参数2 信息代码:长整型数。根据信息代码的取值不同,从函数返回值可获得给定窗口相关的窗口的窗口句柄。可取值:
说明
0 父窗口
1 第一个子窗口
2 第一个兄弟窗口
3 最后一个兄弟窗口
4 下一个兄弟窗口
5 前一个兄弟窗口
6 所有者窗口
7 顶层窗口(如果参数1的窗口句柄是顶层窗口的窗口句柄,返回值与参数1相同)
返回值: 长整型数。根据信息代码获得的与参数1相关的窗口的窗口句柄。
脚本例子:
(8.x语法)
hwnd = Plugin.WNDEX7~1.GetMousePointWindowS(1 Or 32)
HwndParent = Plugin.WNDEX7~1.GetWindow(hwnd,0)
HwndChild = Plugin.WNDEX7~1.GetWindow(hwnd,1)
HwndFirst = Plugin.WNDEX7~1.GetWindow(hwnd,2)
HwndLast = Plugin.WNDEX7~1.GetWindow(hwnd,3)
HwndNext = Plugin.WNDEX7~1.GetWindow(hwnd,4)
HwndPrev = Plugin.WNDEX7~1.GetWindow(hwnd,5)
HwndOwner = Plugin.WNDEX7~1.GetWindow(hwnd,6)
HwndTopMost = Plugin.WNDEX7~1.GetWindow(hwnd,7)
MsgBox "目标窗口:" & hwnd & vbCrLf & "父窗口:" & HwndParent & vbCrLf & "子窗口:" & HwndChild & vbCrLf & "第一个兄弟窗口:" & HwndFirst & vbCrLf & "最后一个兄弟窗口:" & HwndLast & vbCrLf & "下一个兄弟窗口:" & HwndNext & vbCrLf & "前一个兄弟窗口:" & HwndPrev & vbCrLf & "所有者窗口:" & HwndOwner & vbCrLf & "顶层窗口:" & HwndTopMost, 4096, "鼠标所指窗口"
命令名称: GetSpecialWindow 获得特殊窗口句柄
命令功能: 获得特殊窗口的窗口句柄。
命令参数: 参数1 信息代码:长整型数。根据信息代码的取值不同,从函数返回值可获得特殊窗口的窗口句柄。可取值:

说明
0 桌面窗口(所有顶层窗口的父窗口)
1 任务栏窗口
2 Shell窗口(显示桌面图标的窗口)
返回值: 长整型数。根据信息代码获得的窗口句柄。
脚本例子:
(8.x语法)
HwndDesktop = Plugin.WNDEX7~1.GetSpecialWindow(0)
HwndTaskman = Plugin.WNDEX7~1.GetSpecialWindow(1)
MsgBox "桌面窗口句柄:" & HwndDesktop & vbCrLf & "任务栏窗口句柄:" & HwndTaskman, 4096
命令名称: GetWindowIconData 获得窗口图标数据
命令功能: 获得窗口的图标数据。
命令参数: 参数1 窗口句柄:长整型数。
参数2 方式:长整型数。保留用,目前只可取0。
返回值: 字符串。根据窗口图标获得的数据。
脚本例子:
(8.x语法)
hwnd = Plugin.WNDEX7~1.GetForegroundWindow()
IconData = Plugin.WNDEX7~1.GetWindowIconData(hwnd,0)
MsgBox "当前窗口图标数据:" & IconData, 4096
命令名称: GetChildWindowZOrder 获得子窗口的Z序
命令功能: 获得符合条件的子窗口的Z序。配合FindChildWindowZOrder函数使用的函数。
命令参数: 参数1 父窗口句柄:长整型数。
参数2 目标窗口句柄:长整型数。要获取Z序的窗口的窗口句柄。
参数3 窗口类名:整型数0或字符串。为搜索条件,取整型数0时不过滤窗口类名。
参数4 过滤条件:长整型数。取值可以是下面的一个或多个,不用时可取0。如果要同时使用多个值,可将多个值做或运算。可取值:
说明
1 仅下一级子窗口。如果使用此值,搜索的是父窗口的所有下级子窗口;如果不使用此值,搜索的是父窗口句柄的所有子窗口,包括子窗口的子窗口。
2 类名匹配,使用此值时,可以使用“?”和“*”进行模糊搜索窗口类名,“?”代表一个任意字符,“*”代表0个或者多个任意字符。
返回值: 长整型数。获得的符合条件的子窗口的Z序。失败返回-1。
脚本例子:
(8.x语法)

//获得鼠标指向的按钮的Z序
hwnd = Plugin.WNDEX7~1.GetMousePointWindow()
hwndParent = Plugin.WNDEX7~1.GetWindow(hwnd,7)
ZOrder = Plugin.WNDEX7~1.GetChildWindowZOrder(hwndParent,hwnd,"Button",0)
MsgBox "鼠标指向的按钮对顶层窗口的Z序:" & ZOrder, 4096

命令名称: SetWindowText 设置窗口标题
命令功能: 设置窗口标题。可以用GetWindowInfo函数获得指定窗口的窗口标题。
命令参数: 参数1 窗口句柄:长整型数。
参数2 窗口标题:字符串。要设置的窗口标题。
返回值:  
脚本例子:
(8.x语法)
hwnd = Plugin.WNDEX7~1.GetForegroundWindow()
Call Plugin.WNDEX7~1.SetWindowText(hwnd,"新标题")
命令名称: SetWindowSize 设置窗口大小
命令功能: 设置窗口大小。可以用GetWindowInfo函数获得指定窗口的窗口大小。
命令参数: 参数1 窗口句柄:长整型数。
参数2 窗口宽度:长整型数。
参数3 窗口高度:长整型数。
返回值:  
脚本例子:
(8.x语法)
hwnd = Plugin.WNDEX7~1.GetForegroundWindow()
Call Plugin.WNDEX7~1.SetWindowSize(hwnd,400,300)
命令名称: SetClientSize 设置窗口客户区大小
命令功能: 设置窗口客户区大小。可以用GetWindowInfo函数获得指定窗口的窗口客户区。
命令参数: 参数1 窗口句柄:长整型数。
参数2 窗口宽度:长整型数。
参数3 窗口高度:长整型数。
返回值:  
脚本例子:
(8.x语法)
hwnd = Plugin.WNDEX7~1.GetForegroundWindow()
Call Plugin.WNDEX7~1.SetClientSize(hwnd,400,300)
命令名称: MoveWindow 移动窗口
命令功能: 移动窗口。可以用GetWindowInfo函数获得指定窗口的左上角的坐标。
命令参数: 参数1 窗口句柄:长整型数。
参数2 横坐标:长整型数。窗口左上角在屏幕中的横坐标。
参数3 纵坐标:长整型数。窗口左上角在屏幕中的纵坐标。
返回值:  
脚本例子:
(8.x语法)
hwnd = Plugin.WNDEX7~1.GetForegroundWindow()
Call Plugin.WNDEX7~1.MoveWindow(hwnd,100,80)
命令名称: SetWindowSpecialPos 移动窗口到特殊位置
命令功能: 移动顶层窗口到屏幕的几个特殊位置中的一个。
命令参数: 参数1 窗口句柄:长整型数。
参数2 位置选择:长整型数。位置选择的取值不同,可将窗口移到不同的位置。可取值:
说明
0 居中
1 居中(排除任务栏区域)
2 左上角(排除任务栏区域)
3 右上角(排除任务栏区域)
4 左下角(排除任务栏区域)
5 右下角(排除任务栏区域)
返回值:  
脚本例子:
(8.x语法)
hwnd = Plugin.WNDEX7~1.GetForegroundWindow()
Call Plugin.WNDEX7~1.SetWindowSpecialPos(hwnd,0)
命令名称: SetWindowZOrder 设置窗口前后顺序
命令功能: 设置窗口前后顺序,将窗口放在另一个窗口后面,或者放在最前后和最后面。
命令参数: 参数1 窗口句柄:长整型数。需要改变前后位置的窗口的窗口句柄。
参数2 窗口句柄2:长整型数。如果要将参数1的窗口放在另一个窗口后面,这里使用那个窗口的窗口句柄;如果要将参数1的窗口放在最前面,使用整型数0;如果要将参数1的窗口放在最后面,使用整型数1。
返回值:  
脚本例子:
(8.x语法)
hwnd = Plugin.WNDEX7~1.GetForegroundWindow()
Call Plugin.WNDEX7~1.SetWindowZOrder(hwnd,1)
命令名称: SetWindowState 设置窗口状态
命令功能: 设置窗口状态。可以用GetWindowState函数设置窗口状态。
命令参数: 参数1 窗口句柄:长整型数。
参数2 设置代码:长整型数。可取值:
说明
0 关闭窗口
1 激活窗口
2 最小化窗口
3 最小化窗口并释放内存,其效果与手动让窗口最小化相同
4 最大化窗口
5 还原窗口,不激活窗口
6 隐藏窗口
7 使窗口可见
8 使窗口置顶
9 取消窗口置顶
10 使窗口不可用
11 使窗口可用
12 窗口只读(用于文本框)
13 取消窗口只读(用于文本框)
14 使窗口闪烁
15 还原并激活窗口
16 使窗口拥有焦点
返回值:  
脚本例子:
(8.x语法)
hwnd = Plugin.WNDEX7~1.GetForegroundWindow()
Call Plugin.WNDEX7~1.SetWindowState(hwnd,3)
命令名称: SetWindowId 设置窗口ID
命令功能: 设置非顶层窗口的窗口ID。不要随便修改其它程序的窗口ID,这可能会导致该程序功能不正常,兄弟窗口的窗口ID不要重复(除非是不使用的窗口ID,通常设置成0、65535、4294967295),否则可能会导致通过窗口ID查找窗口查到其它相同窗口ID上去了。可以用GetWindowInfo函数获得指定窗口的窗口ID,可以用FindWindowId函数根据窗口ID查找子窗口。
命令参数: 参数1 窗口句柄:长整型数。要修改窗口ID的非顶层窗口的窗口句柄。
参数2 窗口ID:长整型数。通常的取值范围是0到65535,一般不使用窗口ID的窗口的值设置成0、65535、4294967295。
返回值:  
脚本例子:
(8.x语法)
hwnd = Plugin.WNDEX7~1.GetMousePointWindow()
Call Plugin.WNDEX7~1.SetWindowId(hwnd,72)
命令名称: SetParent 设置父窗口
命令功能: 设置父窗口。可以将顶层窗口变成其它窗口的子窗口,也可以将其它窗口的子窗口变成顶层窗口,还可以将一个窗口的子窗口移到另一个窗口总作为子窗口。注意:此功能有可能导致被移动的窗口功能异常。
命令参数: 参数1 窗口句柄:长整型数。要改变父窗口的窗口句柄。
参数2 父窗口句柄:长整型数。此参数的窗口句柄将作为参数1的父窗口。如果要将其它窗口的子窗口变成顶层窗口,该参数取0。
参数3 方式:默认取0。取1时,如果参数1是顶层窗口,且参数2不为0,去除窗口边框和标题栏。
返回值:  
脚本例子:
(8.x语法)
//将记事本放到当前窗口中
hwnd = Plugin.WNDEX7~1.FindWindow("Notepad",0)
hwndParent = Plugin.WNDEX7~1.GetForegroundWindow()
Call Plugin.WNDEX7~1.SetParent(hwnd,hwndParent,0)
命令名称: HighlightWindow 突出显示窗口
命令功能: 突出显示窗口。在窗口周围画一个矩形框。
命令参数: 参数1 窗口句柄:长整型数。
参数2 线条宽度:长整型数。矩形框的线条宽度。以像素为单位。
参数3 边框颜色:十六进制字符串。矩形框的颜色。
参数4 持续时间:长整型数。矩形框存在的时间,到了时间就擦除。单位是毫秒。
返回值:  
脚本例子:
(8.x语法)
例子1:
While True
    hwnd = Plugin.WNDEX7~1.GetMousePointWindowS(1 Or 32)
    Call Plugin.WNDEX7~1.HighlightWindow(hwnd, 4, "0000FF", 200)
    Delay 200
Wend

例子2(实用例子):
//获得鼠标左键点击的窗口的窗口句柄
//起始处的GetLastClick用于清除过去的鼠标点击记录
Call GetLastClick()
Do While True
    hwnd = Plugin.WNDEX7~1.GetMousePointWindowS(1 Or 32)
    Call Plugin.WNDEX7~1.HighlightWindow(hwnd, 4, "0000FF", 200)
    If GetLastClick() = 32770 Then
        Exit Do
    End If
    Delay 200
Loop
MsgBox hwnd,4096,"窗口句柄"
命令名称: HighlightWindowEx 突出显示窗口
命令功能: 突出显示窗口。沿窗口边框画一个持续存在的边框。
命令参数: 参数1 窗口句柄:长整型数。
参数2 线条宽度:长整型数。边框的线条宽度。以像素为单位。
参数3 边框颜色:十六进制字符串。边框的颜色。
参数4 填充颜色:十六进制字符串或者长整型数0。边框中填充的颜色。取长整型数0时,不填充任何颜色。
参数5 不透明度:长整型数。取值范围0-255,0为完全透明,255为不透明。
参数6 样式:长整型数。目前只能取0。
注:参数2、参数3、参数4、参数5、参数6同时取0时停止突出显示窗口。此时参数1是停止突出显示的窗口的窗口句柄,参数1取0停止所有窗口的突出显示。突出显示的窗口一次只能有一个,后面调用的将替换前面调用的。
返回值:  
脚本例子:
(8.x语法)
hwnd = Plugin.WNDEX7~1.GetMousePointWindowS(1 Or 32)
Call Plugin.WNDEX7~1.HighlightWindowEx(hwnd, 5, "0000FF", "7F7FFF", 150, 0)
Delay 1000
Call Plugin.WNDEX7~1.HighlightWindowEx(0, 0, 0, 0, 0, 0)
命令名称: SetWindowStyle 设置窗口样式
命令功能: 设置窗口样式。只能用于顶层窗口。
命令参数: 参数1 窗口句柄:长整型数。
参数2 设置代码:长整型数。可取值:
说明
0 无标题和边框、任务栏不显示的窗口
1 无标题、黑色边框、任务栏不显示的窗口
2 无标题、凸起的、任务栏不显示的窗口
3 无标题、任务栏不显示、可改变大小的窗口
4 有标题、无图标、无关闭、无最小化、无最大化的窗口
5 有标题、无图标、无关闭、无最小化、无最大化的可改变大小的窗口
6 有标题、有图标、有关闭的窗口
7 有标题、有图标、有关闭的可改变大小的窗口
8 有标题、有图标、有关闭、有最小化的窗口
9 有标题、有图标、有关闭、有最小化的可改变大小的窗口
10 有标题、有图标、有关闭、有最小化、有最大化的窗口
11 有标题、有图标、有关闭、有最小化、有最大化的可改变大小的窗口
12 有矮标题、无图标、无关闭、无最小化、无最大化、任务栏不显示的窗口
13 有矮标题、无图标、无关闭、无最小化、无最大化、任务栏不显示、可改变大小的窗口
14 有矮标题、无图标、无关闭、无最小化、无最大的窗口
15 有矮标题、无图标、无关闭、无最小化、无最大、可改变大小的窗口
16 有矮标题、有关闭、任务栏不显示的窗口
17 有矮标题、有关闭、任务栏不显示、可改变大小的窗口
18 有矮标题、有关闭的窗口
19 有矮标题、有关闭、可改变大小的窗口
返回值:  
脚本例子:
(8.x语法)
hwnd = Plugin.WNDEX7~1.GetForegroundWindow()
Call Plugin.WNDEX7~1.SetWindowStyle(hwnd,6)
命令名称: HideWindowFormTaskbar 隐藏任务栏上的窗口
命令功能: 使任务栏上不显示该窗口。只能用于顶层窗口。使用RestoreWindowToTaskbar函数可恢复窗口。
命令参数: 参数1 窗口句柄:长整型数。
返回值: 长整型数,旧窗口信息,用于恢复窗口。
脚本例子:
(8.x语法)
hwnd = Plugin.WNDEX7~1.GetForegroundWindow()
OldInfo = Plugin.WNDEX7~1.HideWindowFormTaskbar(hwnd)
MsgBox "任务栏上的窗口已隐藏",4096
Call Plugin.WNDEX7~1.RestoreWindowToTaskbar(hwnd,OldInfo)
MsgBox "任务栏上的窗口已恢复",4096
命令名称: RestoreWindowToTaskbar 恢复任务栏上隐藏的窗口
命令功能: 恢复被HideWindowFormTaskbar函数在任务栏上隐藏的窗口。只能用于顶层窗口。
命令参数: 参数1 窗口句柄:长整型数。
参数2 旧窗口信息:长整型数。取自HideWindowFormTaskbar函数的返回值。
返回值: 长整型数,旧的窗口数据,用于恢复窗口。
脚本例子:
(8.x语法)
hwnd = Plugin.WNDEX7~1.GetForegroundWindow()
OldInfo = Plugin.WNDEX7~1.HideWindowFormTaskbar(hwnd)
MsgBox "任务栏上的窗口已隐藏",4096
Call Plugin.WNDEX7~1.RestoreWindowToTaskbar(hwnd,OldInfo)
MsgBox "任务栏上的窗口已恢复",4096
命令名称: SetWindowOpacity 设置透明窗口
命令功能: 设置透明窗口和鼠标穿透窗口。只能用于顶层窗口。
命令参数: 参数1 窗口句柄:长整型数。
参数2 透明色:十六进制字符串或整型数0。颜色值用十六进指制符串表示。窗口中和透明色相同的区域被挖空。取0时不使用此参数。
参数3 不透明度:长整型数。取值范围0-255或-1。0为完全透明,255为不透明;取-1时不使用此参数。
参数4 鼠标是否可穿透:长整型数。取0为鼠标不可穿透,取1为鼠标可穿透,取-1时不使用此参数。
返回值:  
脚本例子:
(8.x语法)
hwnd = Plugin.WNDEX7~1.GetForegroundWindow()
Call Plugin.WNDEX7~1.SetWindowOpacity(hwnd,0,150,1)
命令名称: SetFakeActive 窗口假激活
命令功能: 让目标窗口对应的程序以为目标窗口在被激活状态。在调用该函数的线程结束前,一直保持目标窗口在此状态。只能用于顶层窗口。
命令参数: 参数1 窗口句柄:长整型数。
参数2 方式:长整型数。保留用,目前只能取0。
返回值:  
脚本例子:
(8.x语法)
hwnd = Plugin.WNDEX7~1.GetMousePointWindowS(1 Or 32 Or 16384)
Call Plugin.WNDEX7~1.SetFakeActive(hwnd,0)
命令名称: FixWindow 固定窗口
命令功能: 固定窗口,使窗口不可移动。
命令参数:

参数1 窗口句柄:长整型数。
参数2 横坐标:长整型数。窗口左上角在屏幕中的横坐标,用于设置窗口固定的位置。
参数3 纵坐标:长整型数。窗口左上角在屏幕中的纵坐标,用于设置窗口固定的位置。
参数4 是否可恢复:长整型数。取0,表示不可恢复;取1,表示可恢复,此时返回数据句柄,将该数据句柄传给RestoreFixWindow的参数,既可恢复窗口,此句柄在脚本结束前或结束时要用RestoreFixWindow释放。

返回值: 长整型数,当FixWindow第四个参数取1时,返回数据句柄。
脚本例子:
(8.x语法)
hwnd = Plugin.WNDEX7~1.GetForegroundWindow()
Call Plugin.WNDEX7~1.FixWindow(hwnd,10,20,0)
命令名称: RestoreFixWindow 恢复被固定的窗口
命令功能: 恢复被固定的窗口,用于恢复被FixWindow固定的窗口。
命令参数: 参数1 数据句柄:长整型数。用于接收FixWindow返回的数据句柄。
返回值:  
脚本例子:
(8.x语法)
hwnd = Plugin.WNDEX7~1.GetForegroundWindow()
FixWinData = Plugin.WNDEX7~1.FixWindow(hwnd,10,20,1)
Delay 3000
Call Plugin.WNDEX7~1.RestoreFixWindow(FixWinData)
命令名称: MinimizeSubstitute 最小化替身
命令功能: 实现目标窗口的假最小化。创建一个替身窗口代替目标窗口进行最小化,该窗口最小化时,目标窗口移出屏幕。
命令参数:

参数1 窗口句柄:长整型数。要实现假最小化的窗口的窗口句柄。
参数2 方式:长整型数。取0时,替身窗口被激活后,目标窗口不被激活;取1时,替身窗口被激活后,目标窗口被激活。

返回值: 长整型数。成功时,返回替身窗口的窗口句柄;失败时,返回0。
脚本例子:
(8.x语法)
hwnd = Plugin.WNDEX7~1.GetForegroundWindow()
hwndMS=Plugin.WNDEX7~1.MinimizeSubstitute(hwnd, 0)
While True
    Delay 200
Wend
Sub OnScriptExit()
    Call Plugin.WNDEX7~1.DestroyMinSub(hwndMS)
End Sub
命令名称: DestroyMinSub 取消最小化替身
命令功能: 恢复使用最小化替身的窗口。
命令参数:

参数1 窗口句柄:长整型数。MinimizeSubstitute返回的替身窗口的窗口句柄。

返回值:  
脚本例子:
(8.x语法)
hwnd = Plugin.WNDEX7~1.GetForegroundWindow()
hwndMS=Plugin.WNDEX7~1.MinimizeSubstitute(hwnd, 0)
While True
    Delay 200
Wend
Sub OnScriptExit()
    Call Plugin.WNDEX7~1.DestroyMinSub(hwndMS)
End Sub
命令名称: ClientToScreen 窗口客户区坐标转屏幕坐标
命令功能: 窗口客户区坐标转屏幕坐标。
命令参数: 参数1 窗口句柄:长整型数。
参数2 横坐标:长整型数变量。这里传入窗口客户区横坐标,并且也传出转换后的屏幕横坐标。
参数3 纵坐标:长整型数变量。这里传入窗口客户区纵坐标,并且也传出转换后的屏幕纵坐标。
返回值:  
脚本例子:
(8.x语法)
hwnd = Plugin.WNDEX7~1.GetForegroundWindow()
x=100
y=50
Call Plugin.WNDEX7~1.ClientToScreen(hwnd,x,y)
MsgBox "当前窗口的窗口客户区坐标(100,50)转换为屏幕坐标后的值为:" & x & "," & y, 4096
命令名称: ScreenToClient 屏幕坐标转窗口客户区坐标
命令功能: 屏幕坐标转窗口客户区坐标。
命令参数: 参数1 窗口句柄:长整型数。
参数2 横坐标:长整型数变量。这里传入屏幕横坐标,并且也传出转换后的窗口客户区横坐标。
参数3 纵坐标:长整型数变量。这里传入屏幕纵坐标,并且也传出转换后的窗口客户区纵坐标。
返回值:  
脚本例子:
(8.x语法)
hwnd = Plugin.WNDEX7~1.GetForegroundWindow()
x=100
y=50
Call Plugin.WNDEX7~1.ScreenToClient(hwnd,x,y)
MsgBox "屏幕坐标(100,50)转换为当前窗口的窗口客户区坐标后的值为:" & x & "," & y, 4096
命令名称: WaitKey 等待按键
命令功能: 等待在任意窗口或者指定窗口按任意键或者指定的一个或者多个键,并获得按键码或指定键的序号,支持组合键和鼠标左中右键。
命令参数: 参数1 窗口句柄:长整型数。取0时,无窗口限制。非0时只等待并获得该窗口的按键,这里有两种方式,一种是该窗口是顶层窗口,一种该窗口是焦点窗口,具体选用哪种方式由参数3决定。
参数2 按键:整型数0、字符串、数组。取整型数0时,等待并获得任意键。使用字符串和数组时,等待并获得字符串和数组中指定的一个或多个按键或组合键。字符串和数组中按键和组合键用键名字符串表示,组合键的多个键用“+”号分隔,字符串方式中指定多个按键或组合键用“|”号分隔。组合键支持shift、ctrl、alt的单个或者多个加一个其他按键。
参数3 模式:长整型数。取值可以是下面的一个或多个,默认值取0。如果要同时使用多个值,可将多个值做或运算或者加法运算。可取值:
说明
1 只捕获键盘(默认键盘和鼠标都捕获)。仅参数2是整型数0时有效。
2 只捕获鼠标(默认键盘和鼠标都捕获)。仅参数2是整型数0时有效。
4 返回值的按键码区分左右键。仅参数2是整型数0时有效。
8 返回值的按键码包含shift、ctrl、alt。仅参数2是整型数0时有效。
16 捕获按下(默认捕获弹起)。
256 选择参数1的方式:用于焦点窗口(默认用于顶层窗口)。
参数4 超时时间:长整型数。时间单位是毫秒,取0时永久等待。
返回值: 参数2为0时,返回按键码;参数2为非0时,返回第几个按键的顺序号(从0开始);超时返回-1;参数1的窗口关闭返回-2;错误返回-3。
关于返回的按键码,若参数3没取8或者不是组合键,返回值和常规按键码没有区别;若参数3取了8,返回值在组合键时,返回值是下表中的一个或多个值和常规按键码做或运算或者加法运算。
说明
256(&H100) shift键按下状态,参数3的值不取4时使用此值
512(&H200) ctrl键按下状态,参数3的值不取4时使用此值
1024(&H400) alt键按下状态,参数3的值不取4时使用此值
65536(&H10000) 左shift键按下状态,参数3的值取4时使用此值
131072(&H20000) 右shift键按下状态,参数3的值取4时使用此值
262144(&H40000) 左ctrl键按下状态,参数3的值取4时使用此值
524288(&H80000) 右ctrl键按下状态,参数3的值取4时使用此值
1048576(&H100000) 左alt键按下状态,参数3的值取4时使用此值
2097152(&H200000) 右alt键按下状态,参数3的值取4时使用此值
脚本例子:
(8.x语法)
//10秒内按下D键、Alt键、Shif+G、Ctrl+F1、Shift+Alt+9中的任意一个,可弹出对应键的提示
key = Plugin.WNDEX7~1.WaitKey(0,"D|Alt|Shift+G|Ctrl+F1|Shift+Alt+9",16,10000)
Select Case key
Case 0
    MsgBox "D键按下"
Case 1
    MsgBox "Alt键按下"
Case 2
    MsgBox "Shift+G键按下"
Case 3
    MsgBox "Ctrl+F1键按下"
Case 4
    MsgBox "Shift+Alt+9键按下"
Case -1
    MsgBox "已超时"
Case -2
    MsgBox "目标窗口已关闭"
Case -3
    MsgBox "错误"
End Select
命令名称: WaitKeyWindow 等待按键并获得相关窗口
命令功能: 等待按任意键或者指定的一个或者多个键,并获得按键码或指定键的序号和相关窗口句柄,支持组合键和鼠标左中右键。相关窗口是接受按键输入的顶层窗口或者焦点窗口。
命令参数: 参数1 按键:整型数0、字符串、数组。取整型数0时,等待并获得任意键。使用字符串和数组时,等待并获得字符串和数组中指定的一个或多个按键或组合键。字符串和数组中按键和组合键用键名字符串表示,组合键的多个键用“+”号分隔,字符串方式中指定多个按键或组合键用“|”号分隔。组合键支持shift、ctrl、alt的单个或者多个加一个其他按键。
参数2 模式:长整型数。取值可以是下面的一个或多个,默认值取0。如果要同时使用多个值,可将多个值做或运算或者加法运算。可取值:
说明
1 只捕获键盘(默认键盘和鼠标都捕获)。仅参数1是整型数0时有效。
2 只捕获鼠标(默认键盘和鼠标都捕获)。仅参数1是整型数0时有效。
4 返回值的按键码区分左右键。仅参数1是整型数0时有效。
8 返回值的按键码包含shift、ctrl、alt。仅参数1是整型数0时有效。
16 捕获按下(默认捕获弹起)。
256 选择参数4的值:获得焦点窗口(默认获得顶层窗口)。
参数3 超时时间:长整型数。时间单位是毫秒,取0时永久等待。
参数4 相关窗口句柄:变量。用于接收按键的相关窗口的窗口句柄(长整型数)。如果参数2没取256获得的值是接受按键的顶层窗口的窗口句柄,如果参数2取256获得的值是接受按键的焦点窗口的窗口句柄。
返回值: 参数1为0时,返回按键码;参数1为非0时,返回第几键顺序号(从0开始);超时返回-1;错误返回-3。
关于返回的按键码,若参数2没取8或者不是组合键,返回值和常规按键码没有区别;若参数2取了8,返回值在组合键时,返回值是下表中的一个或多个值和常规按键码做或运算或者加法运算。
说明
256(&H100) shift键按下状态,参数2的值不取4时使用此值
512(&H200) ctrl键按下状态,参数2的值不取4时使用此值
1024(&H400) alt键按下状态,参数2的值不取4时使用此值
65536(&H10000) 左shift键按下状态,参数2的值取4时使用此值
131072(&H20000) 右shift键按下状态,参数2的值取4时使用此值
262144(&H40000) 左ctrl键按下状态,参数2的值取4时使用此值
524288(&H80000) 右ctrl键按下状态,参数2的值取4时使用此值
1048576(&H100000) 左alt键按下状态,参数2的值取4时使用此值
2097152(&H200000) 右alt键按下状态,参数2的值取4时使用此值
脚本例子:
(8.x语法)
//10秒内按下D键、Alt键、Shif+G、Ctrl+F1、Shift+Alt+9中的任意一个,可弹出对应键和窗口句柄的提示
key = Plugin.WNDEX7~1.WaitKeyWindow("D|Alt|Shift+G|Ctrl+F1|Shift+Alt+9",16 Or 256,10000,hwnd)
Select Case key
Case 0
    MsgBox "D键按下,焦点窗口:" & CStr(hwnd)
Case 1
    MsgBox "Alt键按下,焦点窗口:" & CStr(hwnd)
Case 2
    MsgBox "Shift+G键按下,焦点窗口:" & CStr(hwnd)
Case 3
    MsgBox "Ctrl+F1键按下,焦点窗口:" & CStr(hwnd)
Case 4
    MsgBox "Shift+Alt+9键按下,焦点窗口:" & CStr(hwnd)
Case -1
    MsgBox "已超时"
Case -3
    MsgBox "错误"
End Select
命令名称: CreateKeyTrack 创建监测按键
命令功能: 创建对按键动作的监测,支持指定监测的窗口,支持同时监测多个按键和组合键。当不使用这个监测的时候,使用DeleteKeyTrack删除它。.
命令参数: 参数1 窗口句柄:长整型数。取0时,无窗口限制。非0时只监测该窗口,这里有两种方式,一种是该窗口是顶层窗口,一种该窗口是焦点窗口,具体选用哪种方式由参数3决定。
参数2 按键:整型数0、字符串、数组。取整型数0时,监测任意键。使用字符串和数组时,监测字符串和数组中指定的一个或多个按键或组合键。字符串和数组中按键和组合键用键名字符串表示,组合键的多个键用“+”号分隔,字符串方式中指定多个按键或组合键用“|”号分隔。组合键支持shift、ctrl、alt的单个或者多个加一个其他按键。
参数3 模式:长整型数。取值可以是下面的一个或多个,默认值取0。如果要同时使用多个值,可将多个值做或运算或者加法运算。可取值:
说明
1 只捕获键盘(默认键盘和鼠标都捕获)。仅参数2是整型数0时有效。
2 只捕获鼠标(默认键盘和鼠标都捕获)。仅参数2是整型数0时有效。
4 返回值的按键码区分左右键。仅参数2是整型数0时有效。
8 返回值的按键码包含shift、ctrl、alt。仅参数2是整型数0时有效。
16 只捕获按下(默认按下和弹起都捕获)。
32 只捕获弹起(默认按下和弹起都捕获)。
64 按下动作时在获得的按键码中加入按下动作值268435456(&H10000000)。
256 选择参数1的方式:用于焦点窗口(默认用于顶层窗口)。
返回值: 长整型数,数据句柄。失败时返回0。
脚本例子:
(8.x语法)
//创建对任意键盘按键动作的监测
KeyData = Plugin.WNDEX7~1.CreateKeyTrack(0,0,1)
While True
    Delay 100
Wend
//OnScriptExit过程在脚本结束时执行,即使脚本执行到一半的时候,你按了停止热键,它也会执行了这个过程再停止
Sub OnScriptExit()
    //删除对按键的监测
    Call Plugin.WNDEX7~1.DeleteKeyTrack(KeyData)
End Sub
命令名称: DeleteKeyTrack 删除监测按键
命令功能: 删除由CreateKeyTrack创建的对按键的监测。
命令参数: 参数1 数据句柄:长整型数。该值由CreateKeyTrack创建。
返回值:  
脚本例子:
(8.x语法)
//创建对任意键盘按键动作的监测
KeyData = Plugin.WNDEX7~1.CreateKeyTrack(0,0,1)
While True
    Delay 100
Wend
//OnScriptExit过程在脚本结束时执行,即使脚本执行到一半的时候,你按了停止热键,它也会执行了这个过程再停止
Sub OnScriptExit()
    //删除对按键的监测
    Call Plugin.WNDEX7~1.DeleteKeyTrack(KeyData)
End Sub
命令名称: GetKey 获得按键
命令功能: CreateKeyTrack创建的对按键的监测中获得按键动作。
命令参数: 参数1 数据句柄:长整型数。该值由CreateKeyTrack创建。
参数2 按键码/按键序号:变量。用于接收按键码或者按键序号(长整型数)。CreateKeyTrack的参数2为0时,输出按键码;CreateKeyTrack的参数2为非0时,返回第几个按键的顺序号(从0开始)。
关于输出按键码,若参数CreateKeyTrack的3没取8或者不是组合键,输出值和常规按键码没有区别;若CreateKeyTrack的参数3取了8,输出值在组合键时,返回值是下表中的一个或多个值和常规按键码做或运算或者加法运算。
说明
256(&H100) shift键按下状态,CreateKeyTrack的参数3的值不取4时使用此值
512(&H200) ctrl键按下状态,CreateKeyTrack的参数3的值不取4时使用此值
1024(&H400) alt键按下状态,CreateKeyTrack的参数3的值不取4时使用此值
65536(&H10000) 左shift键按下状态,CreateKeyTrack的参数3的值取4时使用此值
131072(&H20000) 右shift键按下状态,CreateKeyTrack的参数3的值取4时使用此值
262144(&H40000) 左ctrl键按下状态,CreateKeyTrack的参数3的值取4时使用此值
524288(&H80000) 右ctrl键按下状态,CreateKeyTrack的参数3的值取4时使用此值
1048576(&H100000) 左alt键按下状态,CreateKeyTrack的参数3的值取4时使用此值
2097152(&H200000) 右alt键按下状态,CreateKeyTrack的参数3的值取4时使用此值
若CreateKeyTrack的参数3取了64,输出的按键码中增加了按下动作值268435456(&H10000000)。
返回值: 长整型数,按键状态。返回0表示无按键动作,返回1表示按下,返回2表示弹起,返回-1表示错误。
脚本例子:
(8.x语法)
//创建对任意键盘按键动作的监测,监测组合键
KeyData = Plugin.WNDEX7~1.CreateKeyTrack(0,0,1 Or 8)
Do While True
    //获得捕获的按键动作
    KeyState=Plugin.WNDEX7~1.GetKey(KeyData,KeyValue)
    Select Case KeyState
    Case 0
        Delay 50
    Case 1
        MsgBox "键按下,按键码:" & CStr(KeyValue)
    Case 2
        MsgBox "键弹起,按键码:" & CStr(KeyValue)
    Case -1
        MsgBox "错误!!!"
        Exit Do
    End Select
Loop
//OnScriptExit过程在脚本结束时执行,即使脚本执行到一半的时候,你按了停止热键,它也会执行了这个过程再停止
Sub OnScriptExit()
    //删除对按键的监测
    Call Plugin.WNDEX7~1.DeleteKeyTrack(KeyData)
End Sub
命令名称: CreateKeyWindowTrack 创建监测按键和相关窗口
命令功能: 创建对按键动作和相关窗口的监测,支持同时监测多个按键和组合键。相关窗口是接受按键输入的顶层窗口或者焦点窗口。当不使用这个监测的时候,使用DeleteKeyWindowTrack删除它。.
命令参数: 参数1 按键:整型数0、字符串、数组。取整型数0时,监测任意键。使用字符串和数组时,监测字符串和数组中指定的一个或多个按键或组合键。字符串和数组中按键和组合键用键名字符串表示,组合键的多个键用“+”号分隔,字符串方式中指定多个按键或组合键用“|”号分隔。组合键支持shift、ctrl、alt的单个或者多个加一个其他按键。
参数2 模式:长整型数。取值可以是下面的一个或多个,默认值取0。如果要同时使用多个值,可将多个值做或运算或者加法运算。可取值:
说明
1 只捕获键盘(默认键盘和鼠标都捕获)。仅参数1是整型数0时有效。
2 只捕获鼠标(默认键盘和鼠标都捕获)。仅参数1是整型数0时有效。
4 返回值的按键码区分左右键。仅参数1是整型数0时有效。
8 返回值的按键码包含shift、ctrl、alt。仅参数1是整型数0时有效。
16 只捕获按下(默认按下和弹起都捕获)。
32 只捕获弹起(默认按下和弹起都捕获)。
64 按下动作时在获得的按键码中加入按下动作值268435456(&H10000000)。
256 选择参数1的方式:用于焦点窗口(默认用于顶层窗口)。
返回值: 长整型数,数据句柄。失败时返回0。
脚本例子:
(8.x语法)
//创建对任意键盘按键动作和相关窗口的监测
KeyWndData = Plugin.WNDEX7~1.CreateKeyWindowTrack(0,1)
While True
    Delay 100
Wend
//OnScriptExit过程在脚本结束时执行,即使脚本执行到一半的时候,你按了停止热键,它也会执行了这个过程再停止
Sub OnScriptExit()
    //删除对按键和相关窗口的监测
    Call Plugin.WNDEX7~1.DeleteKeyWindowTrack(KeyWndData)
End Sub
命令名称: DeleteKeyWindowTrack 删除监测按键和相关窗口
命令功能: 删除由CreateKeyWindowTrack创建的对按键和相关窗口的监测。
命令参数: 参数1 数据句柄:长整型数。该值由CreateKeyWindowTrack创建。
返回值:  
脚本例子:
(8.x语法)
//创建对任意键盘按键动作和相关窗口的监测
KeyWndData = Plugin.WNDEX7~1.CreateKeyWindowTrack(0,1)
While True
    Delay 100
Wend
//OnScriptExit过程在脚本结束时执行,即使脚本执行到一半的时候,你按了停止热键,它也会执行了这个过程再停止
Sub OnScriptExit()
    //删除对按键和相关窗口的监测
    Call Plugin.WNDEX7~1.DeleteKeyWindowTrack(KeyWndData)
End Sub
命令名称: GetKeyWindow 获得按键和相关窗口
命令功能: CreateKeyWindowTrack创建的对按键的监测中获得按键动作和相关窗口。
命令参数: 参数1 数据句柄:长整型数。该值由CreateKeyWindowTrack创建。
参数2 按键码/按键序号:变量。用于接收按键码或者按键序号(长整型数)。CreateKeyWindowTrack的参数1为0时,输出按键码;CreateKeyWindowTrack的参数1为非0时,返回第几个按键的顺序号(从0开始)。
关于输出按键码,若参数CreateKeyWindowTrack的2没取8或者不是组合键,输出值和常规按键码没有区别;若CreateKeyWindowTrack的参数3取了8,输出值在组合键时,返回值是下表中的一个或多个值和常规按键码做或运算或者加法运算。
说明
256(&H100) shift键按下状态,CreateKeyWindowTrack的参数2的值不取4时使用此值
512(&H200) ctrl键按下状态,CreateKeyWindowTrack的参数2的值不取4时使用此值
1024(&H400) alt键按下状态,CreateKeyWindowTrack的参数2的值不取4时使用此值
65536(&H10000) 左shift键按下状态,CreateKeyWindowTrack的参数2的值取4时使用此值
131072(&H20000) 右shift键按下状态,CreateKeyWindowTrack的参数2的值取4时使用此值
262144(&H40000) 左ctrl键按下状态,CreateKeyWindowTrack的参数2的值取4时使用此值
524288(&H80000) 右ctrl键按下状态,CreateKeyWindowTrack的参数2的值取4时使用此值
1048576(&H100000) 左alt键按下状态,CreateKeyWindowTrack的参数2的值取4时使用此值
2097152(&H200000) 右alt键按下状态,CreateKeyWindowTrack的参数2的值取4时使用此值
若CreateKeyWindowTrack的参数3取了64,输出的按键码中增加了按下动作值268435456(&H10000000)。
参数3 相关窗口句柄:变量。用于接收按键的相关窗口的窗口句柄(长整型数)。如果参数2没取256获得的值是接受按键的顶层窗口的窗口句柄,如果参数2取256获得的值是接受按键的焦点窗口的窗口句柄。
返回值: 长整型数,按键状态。返回0表示无按键动作,返回1表示按下,返回2表示弹起,返回-1表示错误。
脚本例子:
(8.x语法)
//创建对任意键盘按键动作的监测,监测组合键
KeyWndData = Plugin.WNDEX7~1.CreateKeyWindowTrack(0,1 Or 8)
Do While True
    //获得捕获的按键动作
    KeyState=Plugin.WNDEX7~1.GetKeyWindow(KeyWndData,KeyValue,WndValue)
    Select Case KeyState
    Case 0
        Delay 50
    Case 1
        MsgBox "键按下,按键码:" & CStr(KeyValue) & "窗口句柄:" & CStr(WndValue)
    Case 2
        MsgBox "键弹起,按键码:" & CStr(KeyValue) & "窗口句柄:" & CStr(WndValue)
    Case -1
        MsgBox "错误!!!"
        Exit Do
    End Select
Loop
//OnScriptExit过程在脚本结束时执行,即使脚本执行到一半的时候,你按了停止热键,它也会执行了这个过程再停止
Sub OnScriptExit()
    //删除对按键的监测
    Call Plugin.WNDEX7~1.DeleteKeyWindowTrack(KeyWndData)
End Sub
命令名称: SetKMAsync 设置键盘鼠标消息是否异步发送
命令功能: 设置键盘鼠标消息是否异步发送。同步方式发送不产生字符,等动作完成,函数才返回,异步方式无论动作是否完成都立刻返回,受其控制的函数有SendKeySendMouseSendMouseWheel,不用此函数时,默认是同步方式。
命令参数: 参数1 发送方式:长整型数。可取值是0和1,取0时为同步方式发送,取1时为异步方式发送。
返回值:  
脚本例子:
(8.x语法)
Call Plugin.WNDEX7~1.SetKMAsync(1)
命令名称: SendKey 发送键盘消息
命令功能: 发送键盘消息,可用于部分游戏的后台键盘模拟。默认发送方式是同步方式,这个方式不要拿它在记事本上测试,那是看不出效果的,这个方式适合在游戏里。要修改发送方式可用SetKMAsync函数。
命令参数: 参数1 窗口句柄:长整型数。
参数2 键盘动作:长整型数。用于选择不同的键盘动作,0是按键,1是按下,2是弹起。
参数3 按键码:长整型数。
参数4 扩展键:长整型数。可取值0和1。键盘上有很多功能键有两个,比如有左Ctrl键和右Ctrl键,其中一个是扩展键,是扩展键时取1,键盘上的数字键和字母在这里取0即可。
返回值:  
脚本例子:
(8.x语法)
hwnd = Plugin.WNDEX7~1.GetForegroundFocus()
Call Plugin.WNDEX7~1.SetKMAsync(1)
While True
    Call Plugin.WNDEX7~1.SendKey(hwnd,0,65,0)
    Delay 1000
Wend
命令名称: SendMouse 发送鼠标消息
命令功能: 发送鼠标消息,可用于部分游戏的后台鼠标模拟。默认发送方式是同步方式,要修改发送方式可用SetKMAsync函数。
命令参数: 参数1 窗口句柄:长整型数。
参数2 鼠标动作:长整型数。可取值:
说明 说明
0 鼠标移动 7 左键按下
1 左键单击 8 右键按下
2 右键单击 9 中键按下
3 中键单击 10 左键弹起
4 左键双击 11 右键弹起
5 右键双击 12 中键弹起
6 中键双击    
参数3 横坐标:长整型数。窗口客户区横坐标。
参数4 纵坐标:长整型数。窗口客户区纵坐标。
返回值:  
脚本例子:
(8.x语法)
hwnd = Plugin.WNDEX7~1.GetForegroundWindow()
While True
    Call Plugin.WNDEX7~1.SendMouse(hwnd,1,100,80)
    Delay 500
Wend
命令名称: SendMouseWheel 发送鼠标滚轮消息
命令功能: 发送鼠标滚轮消息,可用于部分游戏的后台鼠标模拟。默认发送方式是同步方式,要修改发送方式可用SetKMAsync函数。
命令参数: 参数1 窗口句柄:长整型数。
参数2 滚动次数:长整型数。正数是向上滚动,负数是向下滚动。
返回值:  
脚本例子:
(8.x语法)
hwnd = Plugin.WNDEX7~1.GetForegroundFocus()
While True
    Call Plugin.WNDEX7~1.SendMouseWheel(hwnd,-1)
    Delay 1000
Wend
命令名称: SendString 发送字符串
命令功能: 发送字符串,可用于部分游戏的后台字符串发送。发送方式是同步方式,如果需要异步方式发送字符串,可使用SendStringAsync函数。
命令参数: 参数1 窗口句柄:长整型数。
参数2 字符串:字符串。要发送的字符串。
返回值:  
脚本例子:
(8.x语法)
hwnd = Plugin.WNDEX7~1.GetForegroundFocus()
While True
    Call Plugin.WNDEX7~1.SendString(hwnd,"输入内容")
    Delay 1000
Wend
命令名称: SendStringAsync 异步发送字符串
命令功能: 发送字符串,可用于部分游戏的后台字符串发送。发送方式是异步方式,如果需要同步方式发送字符串,可使用SendString函数。
命令参数: 参数1 窗口句柄:长整型数。
参数2 字符串:字符串。要发送的字符串。
返回值:  
脚本例子:
(8.x语法)
hwnd = Plugin.WNDEX7~1.GetForegroundFocus()
While True
    Call Plugin.WNDEX7~1.SendStringAsync(hwnd,"输入内容")
    Delay 1000
Wend
命令名称: CreateTextRgn 创建文本显示区域
命令功能: 创建文本显示区域。在屏幕上创建一个窗口,用于显示文本内容,也可以在其它窗口中创建。脚本结束前或结束时要用本插件的SetWindowState函数关闭窗口,否则窗口不会消失。
命令参数: 参数1 父窗口句柄:长整型数。在屏幕上创建取0,在其它窗口中创建取该窗口的窗口句柄。
参数2 横坐标:长整型数。设置创建的区域的位置。父窗口句柄取0时为屏幕的横坐标,父窗口句柄取其它窗口的窗口句柄时为该区域在窗口客户区的横坐标。
参数3 纵坐标:长整型数。设置创建的区域的位置。父窗口句柄取0时为屏幕的纵坐标,父窗口句柄取其它窗口的窗口句柄时为该区域在窗口客户区的纵坐标。
参数4 宽度:长整型数。设置创建的区域的宽度。
参数5 高度:长整型数。设置创建的区域的高度。
返回值: 长整型数,创建的区域窗口的窗口句柄。
脚本例子:
(8.x语法)
hwnd = Plugin.WNDEX7~1.CreateTextRgn(0,100,10,200,20)
i = 0
While True
    str = CStr(now) & " 数据" & CStr(i)
    Call Plugin.WNDEX7~1.SendTextRgnString(hwnd,str)
    i = i + 1
    Delay 1000
Wend
//OnScriptExit过程在脚本结束时执行,即使脚本执行到一半的时候,你按了停止热键,它也会执行了这个过程再停止
Sub OnScriptExit()
    Call Plugin.WNDEX7~1.SetWindowState(hwnd,0)
End Sub
命令名称: SetTextRgnStyle 设置文本显示区域样式
命令功能: 设置文本显示区域的样式,用于CreateTextRgn创建的区域。
命令参数: 参数1 窗口句柄:长整型数。用于接收CreateTextRgn创建的区域窗口的窗口句柄。
参数2 背景色:十六进制字符串或者"TRP"字符串。区域的背景色。使用十六进制字符串时表示的是背景RGB颜色,使用"TRP"字符串时背景透明。
参数3 文字颜色:十六进制字符串。区域显示的文字的颜色。
参数4 字体:字符串。区域显示的文字的字体。
参数5 文字大小:长整型数。区域显示的文字的大小。用文字的高度来表示的文字大小,以像素为单位。
参数6 文字是否加粗:长整型数。区域显示的文字是否为粗体。取0为正常字体,取1为粗体。
参数7 样式:长整型数。文本显示区域的样式。取值可以是下面的一个或多个,不用时可取0。如果要同时使用多个值,可将多个值做或运算或者加法运算。可取值:
说明
1 区域可用鼠标移动。
2 文本向下滚动显示。滚动显示的效果是:收到SendTextRgnString发送的字符串后,原来显示的文本不删除,而是向下滚动,上面显示新增加的内容。
4 文本向上滚动显示。滚动显示的效果是:收到SendTextRgnString发送的字符串后,原来显示的文本不删除,而是向上滚动,下面显示新增加的内容。
8 鼠标穿透到父窗口,不支持文本显示区域是顶层窗口的情况。顶层窗口的鼠标穿透可以使用SetWindowOpacity函数。

参数8 行间距:长整型数。值越大两行文字之间的距离越大,最小值是0,此时两行文字之间无间距。
返回值:  
脚本例子:
(8.x语法)
hwnd = Plugin.WNDEX7~1.CreateTextRgn(0,100,10,200,20)
Call Plugin.WNDEX7~1.SetTextRgnStyle(hwnd,"00FF00","000000","宋体",12,0,1,0)
i = 0
While True
    str = CStr(now) & " 数据" & CStr(i)
    Call Plugin.WNDEX7~1.SendTextRgnString(hwnd,str)
    i = i + 1
    Delay 1000
Wend
//OnScriptExit过程在脚本结束时执行,即使脚本执行到一半的时候,你按了停止热键,它也会执行了这个过程再停止
Sub OnScriptExit()
    Call Plugin.WNDEX7~1.SetWindowState(hwnd,0)
End Sub
命令名称: SendTextRgnString 发送字符串给文本显示区域
命令功能: 发送字符串给文本显示区域,用于CreateTextRgn创建的区域。
命令参数: 参数1 窗口句柄:长整型数。用于接收CreateTextRgn创建的区域窗口的窗口句柄。
参数2 字符串:字符串或者整型数0。要发送到CreateTextRgn创建的区域的字符串。字符串中使用“[/C:十六进制颜色值]”可以改变字符串后面部分的颜色。使用整型数0可清理全部文本内容。
返回值:  
脚本例子:
(8.x语法)
hwnd = Plugin.WNDEX7~1.CreateTextRgn(0,100,10,200,120)
Call Plugin.WNDEX7~1.SetTextRgnStyle(hwnd,"00FF00","000000","宋体",12,0,1 Or 2,1)
i = 0
While True
    str = CStr(now) & " [/C:FF0000]数据[/C:0000FF]" & CStr(i)
    Call Plugin.WNDEX7~1.SendTextRgnString(hwnd,str)
    i = i + 1
    Delay 1000
Wend
//OnScriptExit过程在脚本结束时执行,即使脚本执行到一半的时候,你按了停止热键,它也会执行了这个过程再停止
Sub OnScriptExit()
    Call Plugin.WNDEX7~1.SetWindowState(hwnd,0)
End Sub
命令名称: CreatePictureRgn 创建图像显示区域
命令功能: 创建图像显示区域,在屏幕上创建一个窗口,用于显示图片内容,也可以在其它窗口中创建。脚本结束前或结束时要用本插件的SetWindowState函数关闭窗口,否则窗口不会消失。
命令参数: 参数1 父窗口句柄:长整型数。在屏幕上创建取0,在其它窗口中创建取该窗口的窗口句柄。
参数2 横坐标:长整型数。设置创建的区域的位置。父窗口句柄取0时为屏幕的横坐标,父窗口句柄取其它窗口的窗口句柄时为该区域在窗口客户区的横坐标。
参数3 纵坐标:长整型数。设置创建的区域的位置。父窗口句柄取0时为屏幕的纵坐标,父窗口句柄取其它窗口的窗口句柄时为该区域在窗口客户区的纵坐标。
参数4 宽度:长整型数。设置创建的区域的宽度。
参数5 高度:长整型数。设置创建的区域的高度。
返回值: 长整型数,创建的区域窗口的窗口句柄。
脚本例子:
(8.x语法)
hwnd = Plugin.WNDEX7~1.CreatePictureRgn(0,20,10,200,150)
Call Plugin.WNDEX7~1.SetPictureRgnImage(hwnd,"图片.bmp")
While True
    Delay 1000
Wend
//OnScriptExit过程在脚本结束时执行,即使脚本执行到一半的时候,你按了停止热键,它也会执行了这个过程再停止
Sub OnScriptExit()
    Call Plugin.WNDEX7~1.SetWindowState(hwnd,0)
End Sub
命令名称: SetPictureRgnStyle 设置图像显示区域样式
命令功能: 设置图像显示区域的样式,用于CreatePictureRgn创建的区域。
命令参数: 参数1 窗口句柄:长整型数。用于接收CreatePictureRgn创建的区域窗口的窗口句柄。
参数2 样式:长整型数。默认取0,取1时区域可用鼠标移动,取2时图像大小固定为区域大小,自动缩放。效果可叠加使用(也就是做或运算,做加法也可以)。
返回值:  
脚本例子:
(8.x语法)
hwnd = Plugin.WNDEX7~1.CreatePictureRgn(0,20,10,200,150)
Call Plugin.WNDEX7~1.SetPictureRgnStyle(hwnd,1)
Call Plugin.WNDEX7~1.SetPictureRgnImage(hwnd,"图片.bmp")
While True
    Delay 1000
Wend
//OnScriptExit过程在脚本结束时执行,即使脚本执行到一半的时候,你按了停止热键,它也会执行了这个过程再停止
Sub OnScriptExit()
    Call Plugin.WNDEX7~1.SetWindowState(hwnd,0)
End Sub
命令名称: SetPictureRgnImage 设置图像显示区域的图像
命令功能: 设置图像显示区域的图像,用于CreatePictureRgn创建的区域。
命令参数: 参数1 窗口句柄:长整型数。用于接收CreatePictureRgn创建的区域窗口的窗口句柄。
参数2 文件路径:字符串。图片文件的路径,支持BMP、JPG、GIF、PNG等图片,支持附件直读(从按键精灵V8.00开始支持),即该参数中的文件名可以使用“Attachment:\文件名”的形式。
返回值:  
脚本例子:
(8.x语法)
hwnd = Plugin.WNDEX7~1.CreatePictureRgn(0,20,10,200,150)
Call Plugin.WNDEX7~1.SetPictureRgnStyle(hwnd,1 Or 2)
Call Plugin.WNDEX7~1.SetPictureRgnImage(hwnd,"Attachment:\图片.bmp")
While True
    Delay 1000
Wend
//OnScriptExit过程在脚本结束时执行,即使脚本执行到一半的时候,你按了停止热键,它也会执行了这个过程再停止
Sub OnScriptExit()
    Call Plugin.WNDEX7~1.SetWindowState(hwnd,0)
End Sub
命令名称: CreateCustomRgn 创建不规则区域
命令功能: 创建不规则区域,在屏幕上根据所给的图片创建一个形状不规则的窗口,也可以在其它窗口中创建。脚本结束前或结束时要用本插件的SetWindowState函数关闭窗口,否则窗口不会消失。
命令参数: 参数1 父窗口句柄:长整型数。在屏幕上创建取0,在其它窗口中创建取该窗口的窗口句柄。
参数2 横坐标:长整型数。设置创建的区域的位置。父窗口句柄取0时为屏幕的横坐标,父窗口句柄取其它窗口的窗口句柄时为该区域在窗口客户区的横坐标。
参数3 纵坐标:长整型数。设置创建的区域的位置。父窗口句柄取0时为屏幕的纵坐标,父窗口句柄取其它窗口的窗口句柄时为该区域在窗口客户区的纵坐标。
参数4 文件路径:字符串。图片文件的路径,要求是BMP图片,支持附件直读(从按键精灵V8.00开始支持),即该参数中的文件名可以使用“Attachment:\文件名”的形式。根据图片的内容来创建不规则区域,图片的图像将成为其背景图。
参数5 透明色:十六进制字符串。图片中与该颜色相同的地方做挖空处理,形成不规则区域。
返回值: 长整型数,创建的区域窗口的窗口句柄。
脚本例子:
(8.x语法)
hwnd = Plugin.WNDEX7~1.CreateCustomRgn(0,20,10,"Attachment:\图形.bmp","FF00FF")
While True
    Delay 1000
Wend
//OnScriptExit过程在脚本结束时执行,即使脚本执行到一半的时候,你按了停止热键,它也会执行了这个过程再停止
Sub OnScriptExit()
    Call Plugin.WNDEX7~1.SetWindowState(hwnd,0)
End Sub
命令名称: SetCustomRgnStyle 设置不规则区域样式
命令功能: 设置不规则区域的样式,用于CreateCustomRgn创建的区域。
命令参数: 参数1 窗口句柄:长整型数。用于接收CreateCustomRgn创建的区域窗口的窗口句柄。
参数2 样式,长整型数。默认取0,取1时区域可用鼠标移动。
返回值:  
脚本例子:
(8.x语法)
hwnd = Plugin.WNDEX7~1.CreateCustomRgn(0,20,10,"Attachment:\图形.bmp","FF00FF")
Call Plugin.WNDEX7~1.SetCustomRgnStyle(hwnd,1)
While True
    Delay 1000
Wend
//OnScriptExit过程在脚本结束时执行,即使脚本执行到一半的时候,你按了停止热键,它也会执行了这个过程再停止
Sub OnScriptExit()
    Call Plugin.WNDEX7~1.SetWindowState(hwnd,0)
End Sub
命令名称: CreateButton 创建按钮
命令功能: 创建按钮,可以在屏幕上创建,也可以在其它窗口中创建。脚本结束前或结束时要用本插件的SetWindowState函数关闭窗口,否则窗口不会消失。
命令参数: 参数1 父窗口句柄:长整型数。在屏幕上创建取0,在其它窗口中创建取该窗口的窗口句柄。
参数2 横坐标:长整型数。设置创建的按钮的位置。父窗口句柄取0时为屏幕的横坐标,父窗口句柄取其它窗口的窗口句柄时为该按钮在窗口客户区的横坐标。
参数3 纵坐标:长整型数。设置创建的按钮的位置。父窗口句柄取0时为屏幕的纵坐标,父窗口句柄取其它窗口的窗口句柄时为该按钮在窗口客户区的纵坐标。
参数4 宽度:长整型数。设置创建的按钮的宽度。
参数5 高度:长整型数。设置创建的按钮的高度。
返回值: 长整型数,创建的按钮的窗口句柄。
脚本例子:
(8.x语法)
hwnd=Plugin.WNDEX7~1.CreateButton(0,20,10,100,30)
While True
    Delay 1000
Wend
//OnScriptExit过程在脚本结束时执行,即使脚本执行到一半的时候,你按了停止热键,它也会执行了这个过程再停止
Sub OnScriptExit()
    Call Plugin.WNDEX7~1.SetWindowState(hwnd,0)
End Sub
命令名称: SetButtonStyle 设置按钮样式
命令功能: 设置按钮的颜色和字体,用于CreateButon创建的按钮。
命令参数: 参数1 窗口句柄:长整型数。用于接收CreateButton创建的按钮的窗口句柄。
参数2 背景颜色:十六进制字符串或整型数0。设置按钮的背景色。颜色值用十六进制字符串表示。取0时不改变背景色。
参数3 文字颜色:十六进制字符串或整型数0。设置按钮的文字颜色。颜色值用十六进制字符串表示。取0时不改变文字颜色。
参数4 字体:字符串或整型数0。设置按钮的文字字体名称。取0时使用不改变字体。
参数5 文字大小:长整型数。用文字的高度来表示的文字大小,以像素为单位。字体参数取0时此参数无效。
返回值: 长整型数,创建的按钮的窗口句柄。
脚本例子:
(8.x语法)

hwnd=Plugin.WNDEX7~1.CreateButton(0,20,10,100,30)
Call Plugin.WNDEX7~1.SetButtonStyle(hwnd,"000000","00FF00","宋体",12)
While True
    Delay 1000
Wend
//OnScriptExit过程在脚本结束时执行,即使脚本执行到一半的时候,你按了停止热键,它也会执行了这个过程再停止
Sub OnScriptExit()
    Call Plugin.WNDEX7~1.SetWindowState(hwnd,0)
End Sub

命令名称: SetButton 设置按钮
命令功能: 设置按钮类型和数据,用于CreateButon创建的按钮。
命令参数: 参数1 窗口句柄:长整型数。用于接收CreateButton创建的按钮的窗口句柄。
参数2 数据:字符串或一维字符串数组。设置按钮的类型和数据。使用字符串时,按钮将被设置成普通按钮,字符串的内容为按钮上显示的文字。使用一维字符串数组时,按钮将被设置成切换按钮,每点击一次按钮,按钮上显示的文字都会切换,切换的内容为一唯数组中的字符串内容,首先显示的是数组中的第一个字符串的内容,按钮点击一次后就显示数组中第二个字符串的内容,再点击就是第三个……,到最后一个时,再点击按钮就切换回第一个。
返回值:  
脚本例子:
(8.x语法)
例子1:
hwnd=Plugin.WNDEX7~1.CreateButton(0,20,10,100,30)
Call Plugin.WNDEX7~1.SetButtonStyle(hwnd,"000000","00FF00",0,0)
Call Plugin.WNDEX7~1.SetButton(hwnd,"按钮")
While True
    Delay 1000
Wend
//OnScriptExit过程在脚本结束时执行,即使脚本执行到一半的时候,你按了停止热键,它也会执行了这个过程再停止
Sub OnScriptExit()
    Call Plugin.WNDEX7~1.SetWindowState(hwnd,0)
End Sub

例子2:
Dim MyArray(2)
MyArray(0)="按钮A"
MyArray(1)="按钮B"
MyArray(2)="按钮C"
hwnd=Plugin.WNDEX7~1.CreateButton(0,20,10,100,30)
Call Plugin.WNDEX7~1.SetButtonStyle(hwnd,"000000","00FF00",0,0)
Call Plugin.WNDEX7~1.SetButton(hwnd,MyArray)
While True
    Delay 1000
Wend
//OnScriptExit过程在脚本结束时执行,即使脚本执行到一半的时候,你按了停止热键,它也会执行了这个过程再停止
Sub OnScriptExit()
    Call Plugin.WNDEX7~1.SetWindowState(hwnd,0)
End Sub
命令名称: SetButtonBindMode 设置按钮绑定模式
命令功能: 设置按钮绑定的窗口在按钮点击后是显隐模式(默认)还是关闭模式,用于CreateButon创建的按钮。SetButton会将该设置还原成默认值,所以若同时使用SetButton和SetButtonBindMode,应先调用SetButton,再调用SetButtonBindMode。给绑定窗口使用SetButtonBindWindow函数。
命令参数: 参数1 窗口句柄:长整型数。用于接收CreateButton创建的按钮的窗口句柄。
参数2 模式:长整型数。设置按钮绑定的窗口在按钮点击后处理的方式。取0时,按钮点击时显示或隐藏被绑定的窗口;取1时,按钮点击时关闭被绑定的窗口。
返回值:  
脚本例子:
(8.x语法)

hwnd1 = Plugin.WNDEX7~1.GetForegroundWindow()
hwnd=Plugin.WNDEX7~1.CreateButton(0,20,10,100,30)
Call Plugin.WNDEX7~1.SetButtonStyle(hwnd,"000000","00FF00",0,0)
Call Plugin.WNDEX7~1.SetButton(hwnd,"按钮")
//设置按钮绑定模式为关闭模式
Call Plugin.WNDEX7~1.SetButtonBindMode(hwnd,1)
//设置按钮绑定窗口
Call Plugin.WNDEX7~1.SetButtonBindWindow(hwnd, hwnd1, 0)
While True
    Delay 1000
Wend
//OnScriptExit过程在脚本结束时执行,即使脚本执行到一半的时候,你按了停止热键,它也会执行了这个过程再停止
Sub OnScriptExit()
    Call Plugin.WNDEX7~1.SetWindowState(hwnd,0)
End Sub

命令名称: SetButtonBindWindow 设置按钮绑定窗口
命令功能: 给按钮绑定窗口,使对按钮的点击可以控制被绑定窗口的显隐或者关闭,多次调用可绑定多个窗口,用于CreateButon创建的按钮。SetButtonSetButtonBindMode会将该设置还原成默认值,所以若还要使用SetButton或者SetButtonBindMode,应先调用SetButton或者SetButtonBindMode,再调用SetButtonBindWindow。给绑定窗口使用SetButtonBindWindow函数。
命令参数:

参数1 窗口句柄:长整型数。用于接收CreateButton创建的按钮的窗口句柄。
参数2 被绑定的窗口句柄:长整型数。设置被绑定的窗口的窗口句柄。
参数3 数据:长整型数或者字符串。
  如果是普通按钮,取长整型数0为绑定窗口。如果是显隐模式,按纽点击后,被绑定窗口的显示隐藏状态变换为相反的状态。如果是关闭模式,按钮点击后,被绑定的窗口被关闭。
  如果是切换按纽,仅支持显隐模式,使用字符串设置当前按钮状态是哪些按钮状态时被绑定窗口是可见的,其它的时候是隐藏的。按钮状态是SetButton设置切换按钮的数组的序号。按钮状态的十进制数值用来设置被绑定窗口的可见性。如果要设置多个按钮状态,按钮状态之间用“|”号分隔,例如“0|2|3”,这时按钮状态是0、2、3时是可见的,其它时候是隐藏的。
  取长整型数-1时,解除被绑定的窗口。

返回值:  
脚本例子:
(8.x语法)

Dim BtnData(2)
BtnData(0) = "按钮1"
BtnData(1) = "按钮2"
BtnData(2) = "按钮3"
hwnd1 = Plugin.WNDEX7~1.FindWindow("Notepad", 0)
If hwnd1=0 Then
    MsgBox "未找到记事本窗口", 4096
End If
//创建按钮
hwnd = Plugin.WNDEX7~1.CreateButton(0, 20, 10, 100, 30)
//设置窗口样式
Call Plugin.WNDEX7~1.SetButtonStyle(hwnd, "000000", "00FF00", 0, 0)
//设置切换按钮
Call Plugin.WNDEX7~1.SetButton(hwnd, BtnData)
//设置按钮的绑定窗口,按钮状态为0、2时被绑定窗口可见,其它时候隐藏
Call Plugin.WNDEX7~1.SetButtonBindWindow(hwnd, hwnd1, "0|2")
While True
    Delay 1000
Wend
//OnScriptExit过程在脚本结束时执行,即使脚本执行到一半的时候,你按了停止热键,它也会执行了这个过程再停止
Sub OnScriptExit()
    Call Plugin.WNDEX7~1.SetWindowState(hwnd,0)
End Sub

命令名称: GetButtonState 获得按钮状态
命令功能: 获得按钮状态,用于CreateButon创建的按钮。
命令参数: 参数1 窗口句柄:长整型数。用于接收CreateButton创建的按钮的窗口句柄。
返回值: 长整型数,按钮状态值。默认初始值是0。如果目标按钮是普通按钮,目标按钮被点击后,第一次获得的值是1,后面获得的值都是0,至到下一次按钮被点击。如果目标按钮是切换按钮,获得的是当前按钮的状态在数组中的序号,这里的数组指的是用SetButton设置按钮时使用的数组。
脚本例子:
(8.x语法)
例子1:
hwnd=Plugin.WNDEX7~1.CreateButton(0,20,10,100,30)
Call Plugin.WNDEX7~1.SetButton(hwnd,"按钮")
While True
    If Plugin.WNDEX7~1.GetButtonState(hwnd)=1 Then
        MsgBox "按钮被点击",4096
    End If
    Delay 200
Wend
//OnScriptExit过程在脚本结束时执行,即使脚本执行到一半的时候,你按了停止热键,它也会执行了这个过程再停止
Sub OnScriptExit()
    Call Plugin.WNDEX7~1.SetWindowState(hwnd,0)
End Sub

例子2:
Dim MyArray(2)
MyArray(0)="按钮A"
MyArray(1)="按钮B"
MyArray(2)="按钮C"
hwnd=Plugin.WNDEX7~1.CreateButton(0,20,10,100,30)
Call Plugin.WNDEX7~1.SetButton(hwnd,MyArray)
OldIndex=-1
While True
    Index=Plugin.WNDEX7~1.GetButtonState(hwnd)
    If Index<>OldIndex Then
        MsgBox "按钮当前序号:" & Index,4096
        OldIndex=Index
    End If
    Delay 200
Wend
//OnScriptExit过程在脚本结束时执行,即使脚本执行到一半的时候,你按了停止热键,它也会执行了这个过程再停止
Sub OnScriptExit()
    Call Plugin.WNDEX7~1.SetWindowState(hwnd,0)
End Sub
命令名称: SetButtonState 设置按钮状态
命令功能: 设置按钮状态,用于CreateButon创建的按钮。
命令参数: 参数1 窗口句柄:长整型数。用于接收CreateButton创建的按钮的窗口句柄。
参数2 按钮状态值:长整型数。如果目标按钮是普通按钮,可取值为0和1,1表示刚才被点击过,0表示未被点击,此设置会引起按钮状态的改变为所取的按钮状态值。如果目标按钮是切换按钮,可取值范围是0到数组最大可用下标,这里的数组指的是用SetButton设置按钮时使用的数组,此设置会引起按钮状态的改变为所取的按钮状态值,按钮上文字也会改变为在数组中取的按钮状态值对应的字符串。
返回值:  
脚本例子:
(8.x语法)
例子1:
hwnd=Plugin.WNDEX7~1.CreateButton(0,20,10,100,30)
Call Plugin.WNDEX7~1.SetButton(hwnd,"按钮")
Call Plugin.WNDEX7~1.SetButtonState(hwnd,1)
State=Plugin.WNDEX7~1.GetButtonState(hwnd)
MsgBox "按钮状态值:" & State,4096
//OnScriptExit过程在脚本结束时执行,即使脚本执行到一半的时候,你按了停止热键,它也会执行了这个过程再停止
Sub OnScriptExit()
    Call Plugin.WNDEX7~1.SetWindowState(hwnd,0)
End Sub

例子2:
Dim MyArray(2)
MyArray(0)="按钮A"
MyArray(1)="按钮B"
MyArray(2)="按钮C"
hwnd=Plugin.WNDEX7~1.CreateButton(0,20,10,100,30)
Call Plugin.WNDEX7~1.SetButton(hwnd,MyArray)
Call Plugin.WNDEX7~1.SetButtonState(hwnd,2)
State=Plugin.WNDEX7~1.GetButtonState(hwnd)
MsgBox "按钮状态值:" & State,4096
//OnScriptExit过程在脚本结束时执行,即使脚本执行到一半的时候,你按了停止热键,它也会执行了这个过程再停止
Sub OnScriptExit()
    Call Plugin.WNDEX7~1.SetWindowState(hwnd,0)
End Sub
命令名称: CreateWebBrowser 创建网页浏览器窗口
命令功能: 创建网页浏览器窗口,可以在屏幕上创建一个按钮,也可以在其它窗口中创建。脚本结束前或结束时要用本插件的SetWindowState函数关闭窗口,否则窗口不会消失。
命令参数: 参数1 父窗口句柄:长整型数。在屏幕上创建取0,在其它窗口中创建取该窗口的窗口句柄。
参数2 横坐标:长整型数。设置创建的网页浏览器窗口的位置。父窗口句柄取0时为屏幕的横坐标,父窗口句柄取其它窗口的窗口句柄时为该网页浏览器窗口在窗口客户区的横坐标。
参数3 纵坐标:长整型数。设置创建的网页浏览器窗口的位置。父窗口句柄取0时为屏幕的纵坐标,父窗口句柄取其它窗口的窗口句柄时为该网页浏览器窗口在窗口客户区的纵坐标。
参数4 宽度:长整型数。设置创建的网页浏览器窗口的宽度。
参数5 高度:长整型数。设置创建的网页浏览器窗口的高度。
参数6 样式:长整型数。设置创建的网页浏览器窗口的样式。取值可以是下面的一个或多个,不用时可取0。如果要同时使用多个值,可将多个值做或运算或者加法运算。可取值:
说明
1 使用3D边框。
2 添加滚动条。
4 使用右键快捷菜单。
8 沉默,禁止弹出提示框。
256 父窗口句柄不为0时,使用有标题的窗口样式。
512 父窗口句柄不为0时,使用有矮标题的窗口样式。
需要更多窗口样式,可使用SetWindowStyle函数。
需要设置窗口标题,可使用SetWindowText函数。
返回值: 长整型数,创建的按钮的窗口句柄。
脚本例子:
(8.x语法)
hwnd=Plugin.WNDEX7~1.CreateWebBrowser(0,20,10,100,30,512)
While True
    Delay 1000
Wend
//OnScriptExit过程在脚本结束时执行,即使脚本执行到一半的时候,你按了停止热键,它也会执行了这个过程再停止
Sub OnScriptExit()
    Call Plugin.WNDEX7~1.SetWindowState(hwnd,0)
End Sub
命令名称: SetWebBrowserString 用字符串设置网页浏览器内容
命令功能: 用字符串设置网页浏览器内容,用于CreateWebBrowser创建的窗口。
命令参数: 参数1 窗口句柄:长整型数。用于接收CreateWebBrowser创建的区域窗口的窗口句柄。
参数2 字符串:字符串。设置网页内容的字符串。
返回值:  
脚本例子:
(8.x语法)
hwnd = Plugin.WNDEX7~1.CreateWebBrowser(0,20,10,500,400,512)
//创建网页浏览器窗口后不延时一会儿,用SetWebBrowserString会失败
Delay 500
Call Plugin.WNDEX7~1.SetWebBrowserString(hwnd,"<a href=""http://www.baidu.com/"">进入百度首页</a>")
While True
    Delay 1000
Wend
//OnScriptExit过程在脚本结束时执行,即使脚本执行到一半的时候,你按了停止热键,它也会执行了这个过程再停止
Sub OnScriptExit()
    Call Plugin.WNDEX7~1.SetWindowState(hwnd,0)
End Sub
命令名称: SetWebBrowserUrl 通过URL设置网页浏览器内容
命令功能: 通过URL设置网页浏览器内容,用于CreateWebBrowser创建的窗口。
命令参数: 参数1 窗口句柄:长整型数。用于接收CreateWebBrowser创建的区域窗口的窗口句柄。
参数2 URL:字符串。URL地址或网页文件、图片文件、文本文件的绝对路径。
返回值:  
脚本例子:
(8.x语法)
hwnd = Plugin.WNDEX7~1.CreateWebBrowser(0,20,10,500,400,512)
Call Plugin.WNDEX7~1.SetWebBrowserUrl(hwnd,"http://www.baidu.com/")
While True
    Delay 1000
Wend
//OnScriptExit过程在脚本结束时执行,即使脚本执行到一半的时候,你按了停止热键,它也会执行了这个过程再停止
Sub OnScriptExit()
    Call Plugin.WNDEX7~1.SetWindowState(hwnd,0)
End Sub
命令名称: MsgBoxEx 弹出定时对话框
命令功能: 弹出一个定时关闭的对话框。
命令参数: 参数1 窗口句柄:长整型数。用于设置对话框的所有者窗口的窗口句柄。取0时无所有者窗口。
参数2 内容:字符串。对话框的内容。
参数3 标题:字符串。对话框的标题。
参数4 类型:长整型数。对话框的类型,同时使用多个值用或运算或者加法运算进行叠加。
可取下列值中的一个来选择对话框中的按钮:
含义
0 确定(OK)
1 确定(OK)、取消(Cancel)
2 中止(Abort)、重试(Retry)、忽略(Ignore)
3 是(Yes)、否(No)、取消(Cancel)
4 是(Yes)、否(No)
5 重试(Retry)、取消(Cancel)
6 取消(Cancel)、重试(Try Again)、继续(Continue)
可取下列值中的一个来选择对话框中的图标:
含义
16 停止图标
32 问号图标
48 感叹号图标
64 i图标
可取下列值中的一个来选择对话框中的默认按钮:
含义
0 第一个按钮是默认按纽
256 第二个按钮是默认按纽
512 第三个按钮是默认按纽
768 第四个按钮是默认按纽
可取下列值中的一个来选择对话框的模式:
含义
0 默认模式,在对话框关闭前所有者窗口不可用
4096 比0模式多了使对话框窗口置顶
8192 当窗口句柄的参数是0时,所有的属于当前线程的顶层窗口不可用
其他选项,可取下列值中的一个或多个:
含义
65536 将对话框设置为前台窗口
131072 如果当前输入的桌面不是默认的桌面,对话框不返回直到用户切换到默认桌面
262144 将话框窗口置顶
524288 文本右对齐
参数5 时间:长整型数。对话框的等待时间,单位是毫秒。
参数6 时间样式:长整型数。显示倒计时的样式。可取下列值中的一个或多个。
含义
0 默认值,无倒计时显示
1 在标题上显示剩余时间
2 在默认按钮上显示剩余时间
返回值: 整型数。指示按了哪个按钮或者超时了。可能的值如下:
含义 含义
-1 超时 5 忽略(Ignore)
0 失败 6 是(Yes)
1 确定(OK) 7 否(No)
2 取消(Cancel) 10 重试(Try Again)
3 中止(Abort) 11 继续(Continue)
4 重试(Retry)    
脚本例子:
(8.x语法)

ret = Plugin.WNDEX7~1.MsgBoxEx(0,"内容","标题",1 Or 4096,10000,1)
MsgBox ret,4096

命令名称: PostThreadData 发送线程数据
命令功能: 发送数据给指定线程的队列。用于同进程内的线程之间的数据传递。可用RecvThreadData接收数据。
命令参数: 参数1 线程ID:长整型数。接收数据的线程的线程ID。
参数2 数据:任意类型。发送给指定线程的数据。
参数3 覆盖队列:整型数。当队列数据满了,取0时,无法发送数据,取1时,覆盖队列中最早的数据。
返回值: 长整型数。失败返回小于0的值;成功返回0;当参数3取0时,队列满了无法发送数据返回1。
脚本例子:
(8.x语法)

tid = BeginThread(MyThread)
Call Plugin.WNDEX7~1.PostThreadData(tid, "线程数据", 0)
EndScript
Sub MyThread()
    Do While True
        If Plugin.WNDEX7~1.RecvThreadData(data)=0 Then
            MsgBox data
            Exit Do
        End If
        Delay 50
    Loop
End Sub

命令名称: RecvThreadData 接收线程数据
命令功能: 接收当前线程的队列中的数据。用于同进程内的线程之间的数据传递。可用PostThreadData发送数据。
命令参数: 参数1 数据:变量。当前线程的队列中的数据。
返回值: 长整型数。失败返回小于0的值;成功返回0;当前队列中没有数据返回1。
脚本例子:
(8.x语法)

tid = BeginThread(MyThread)
i = 0
While True
    //PostThreadData在线程队列满了时返回1,这里当线程队列满了时i不累加
    If Plugin.WNDEX7~1.PostThreadData(tid, "线程数据" & CStr(i), 0) <> 1 Then
        i = i + 1
    End If
    Delay 50
Wend
Sub MyThread()
    While True
        If Plugin.WNDEX7~1.RecvThreadData(data)=0 Then
            MsgBox data
        End If
        Delay 50
    Wend
End Sub

虚拟键码表
键码 键名 描述 键码 键名 描述
1 Left Button 鼠标左键 82 R  
2 Right Button 鼠标右键 83 S  
3 Cancel   84 T  
4 Middle Button 鼠标中键 85 U  
5 XButton1   86 V  
6 Xbutton2   87 W  
8 Backspace 退格键 88 X  
9 Tab Tab键 89 Y  
12 Clear   90 Z  
13 Enter 回车键 91 Left Win 左Windows键
16 Shift Shift键 92 Right Win 右Windows键
17 Ctrl Ctrl键 93 Apps 菜单键
18 Alt Alt键 95 Sleep 休眠键
19 Pause 暂停键 96 Num 0 小键盘0键
20 Caps Lock 大小写切换键 97 Num 1 小键盘1键
27 Esc 退出键 98 Num 2 小键盘2键
32 Space 空格键 99 Num 3 小键盘3键
33 Page Up 向上翻页键 100 Num 4 小键盘4键
34 Page Down 向下翻页键 101 Num 5 小键盘5键
35 End 结尾键 102 Num 6 小键盘6键
36 Home 起始键 103 Num 7 小键盘7键
37 Left 左移键(向左箭头) 104 Num 8 小键盘8键
38 Up 上移键(向上箭头) 105 Num 9 小键盘9键
39 Right 右移键(向右箭头) 106 Num * 小键盘*键
40 Down 下移键(向下箭头) 107 Num + 小键盘+键
41 Select   108 Num Enter 小键盘回车键
42 Print   109 Num - 小键盘-键
43 Execute   110 Num . 小键盘.键
44 Print Screen 截屏键 111 Num / 小键盘/键
45 Insert 插入键 112 F1  
46 Delete 删除键 113 F2  
47 Help   114 F3  
48 0   115 F4  
49 1   116 F5  
50 2   117 F6  
51 3   118 F7  
52 4   119 F8  
53 5   120 F9  
54 6   121 F10  
55 7   122 F11  
56 8   123 F12  
57 9   144 Num Lock 小键盘切换键
65 A   145 Scroll Lock  
66 B   160 Left Shift 左Shift键
67 C   161 Right Shift 右Shift键
68 D   162 Left Ctrl 左Ctrl键
69 E   163 Right Ctrl 右Ctrl键
70 F   164 Left Alt 左Alt键
71 G   165 Right Alt 右Alt键
72 H   186 ; ;:
73 I   187 = =+
74 J   189 - -_
75 K   191 / /?
76 L   192 ` `~
77 M   219 [ [{
78 N   220 \ \|
79 O   221 ] ]}
80 P   222 ' '"
81 Q