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

跳过鼠标可穿透顶层窗口

32 跳过全透明且鼠标可穿透顶层窗口
16384 只取顶层窗口
返回值: 长整型数。鼠标指向的窗口的窗口句柄。
脚本例子:
(8.x语法)
//GetMousePointWindowS的过滤条件中的“跳过不可见顶层窗口”和“跳过全透明且鼠标可穿透顶层窗口”建议使用,否则容易取到一些不可见的顶层窗口的窗口句柄
hwnd = Plugin.WndEx6_50.GetMousePointWindowS(1 Or 32 Or 16384)
MsgBox "鼠标指向的顶层窗口的窗口句柄:" & CStr(hwnd), 4096
脚本例子:
(7.x语法)
//GetMousePointWindowS的过滤条件中的“跳过不可见顶层窗口”和“跳过全透明且鼠标可穿透顶层窗口”建议使用,否则容易取到一些不可见的顶层窗口的窗口句柄
Plugin hwnd=WndEx6_50.GetMousePointWindowS(1 Or 32 Or 16384)
MsgBox "鼠标指向的顶层窗口的窗口句柄:" & CStr(hwnd), 4096

命令名称: GetPointWindow 获得包含了指定点的窗口句柄
命令功能: 获得包含了指定点的窗口句柄。
命令参数: 参数1 横坐标:长整型数。屏幕横坐标。
参数2 纵坐标:长整型数。屏幕纵坐标。
返回值: 长整型数。屏幕上指定点的窗口的窗口句柄。
脚本例子:
(8.x语法)
hwnd = Plugin.WndEx6_50.GetPointWindow(100,50)
MsgBox "屏幕坐标(100,50)处的窗口的窗口句柄:" & CStr(hwnd), 4096
脚本例子:
(7.x语法)
Plugin hwnd=WndEx6_50.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_50.GetPointWindowS(100,50,1 Or 32 Or 16384)
MsgBox "屏幕坐标(100,50)处的顶层窗口的窗口句柄:" & CStr(hwnd), 4096
脚本例子:
(7.x语法)
//GetPointWindowS的过滤条件中的“跳过不可见顶层窗口”和“跳过全透明且鼠标可穿透顶层窗口”建议使用,否则容易取到一些不可见的顶层窗口的窗口句柄
Plugin hwnd=WndEx6_50.GetPointWindowS(100,5,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.WndEx6_50.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
脚本例子:
(7.x语法)
RunApp "notepad.exe"
RunApp "notepad.exe"
RunApp "notepad.exe"
Delay 1000
Plugin HwndArray=WndEx6_50.EnumWindowA(0,0,"Notepad",0)
n=UBound(HwndArray)
If n=-1
    MsgBox "记事本窗口未找到", 4096
Else
    str=CStr(HwndArray(0))
    i=1
    For n
        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"
Delay 1000
HwndArray = Plugin.WndEx6_50.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
脚本例子:
(7.x语法)
RunApp "notepad.exe"
RunApp "notepad.exe"
RunApp "notepad.exe"
Delay 1000
Plugin HwndArray=WndEx6_50.EnumWindowT(0,0,"notepad.exe",0,16)
n=UBound(HwndArray)
If n=-1
    MsgBox "记事本窗口未找到", 4096
Else
    str=CStr(HwndArray(0))
    i=1
    For n
        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_50.FindWindow("Notepad","* - 记事本")
MsgBox "查找到的窗口句柄:" & CStr(hwnd), 4096
脚本例子:
(7.x语法)
Plugin hwnd=WndEx6_50.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.WndEx6_50.FindWindowEx(0,0,"Notepad","* - 记事本")
Do While hwnd <> 0
    str = str & CStr(hwnd) & ","
    hwnd = Plugin.WndEx6_50.FindWindowEx(0,hwnd,"Notepad","* - 记事本")
Loop
MsgBox "查找到的全部窗口句柄:" & str,4096

脚本例子:
(7.x语法)
Dim str,hwnd
str=""
Plugin hwnd=WndEx6_50.FindWindowEx(0,0,"Notepad","* - 记事本")
While hwnd<>0
    str=str & CStr(hwnd) & ","
    Plugin hwnd=WndEx6_50.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_50.FindWindow("Notepad","* - 记事本")
hwndEdit = Plugin.WndEx6_50.FindWindowId(hwnd,15)
MsgBox "查找到的窗口句柄:" & CStr(hwndEdit), 4096
脚本例子:
(7.x语法)
Plugin hwnd=WndEx6_50.FindWindow("Notepad","* - 记事本")
Plugin hwndEdit=WndEx6_50.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_50.FindWindow("CalcFrame","计算器")
hwnd = Plugin.WndEx6_50.FindChildWindowZOrder(hwndParent,"Button",8,0)
MsgBox "计算器第8个按钮的窗口句柄:" & CStr(hwnd), 4096

脚本例子:
(7.x语法)
Plugin hwndParent=WndEx6_50.FindWindow("CalcFrame","计算器")
Plugin hwnd=WndEx6_50.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 获得窗口进程名(与任务管理器中进程选项卡的映像名称相同),返回值为字符串。
返回值: 由信息代码决定
脚本例子:
(8.x语法)
hwnd = Plugin.WndEx6_50.GetMousePointWindowS(1 Or 32)
WinCaption = Plugin.WndEx6_50.GetWindowInfo(hwnd,0)
WinClass = Plugin.WndEx6_50.GetWindowInfo(hwnd,1)
WinRect = Plugin.WndEx6_50.GetWindowInfo(hwnd,2)
ClientRect = Plugin.WndEx6_50.GetWindowInfo(hwnd,3)
WinID = Plugin.WndEx6_50.GetWindowInfo(hwnd,4)
PID = Plugin.WndEx6_50.GetWindowInfo(hwnd,5)
TID = Plugin.WndEx6_50.GetWindowInfo(hwnd,6)
ExePath = Plugin.WndEx6_50.GetWindowInfo(hwnd,7)
ProcessName = Plugin.WndEx6_50.GetWindowInfo(hwnd,8)
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, 4096, "鼠标所指窗口信息"
脚本例子:
(7.x语法)
Plugin hwnd=WndEx6_50.GetMousePointWindowS(1 Or 32)
Plugin WinCaption=WndEx6_50.GetWindowInfo(hwnd,0)
Plugin WinClass=WndEx6_50.GetWindowInfo(hwnd,1)
Plugin WinRect=WndEx6_50.GetWindowInfo(hwnd,2)
Plugin ClientRect=WndEx6_50.GetWindowInfo(hwnd,3)
Plugin WinID=WndEx6_50.GetWindowInfo(hwnd,4)
Plugin PID=WndEx6_50.GetWindowInfo(hwnd,5)
Plugin TID=WndEx6_50.GetWindowInfo(hwnd,6)
Plugin ExePath=WndEx6_50.GetWindowInfo(hwnd,7)
Plugin ProcessName=WndEx6_50.GetWindowInfo(hwnd,8)
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, 4096, "鼠标所指窗口信息"
命令名称: GetWindowState 获得窗口状态
命令功能: 获得窗口状态。可以用SetWindowState函数可设置窗口状态。
命令参数: 参数1 窗口句柄:长整型数。
参数2 信息代码:长整型数。根据信息代码的取值不同,从函数返回值可判断各种窗口状态。可取值:
说明
0 窗口是否存在
1 窗口是否在被激活状态
2 窗口是否可见
3 窗口是否可用
4 窗口是否最小化
5 窗口是否最大化
6 窗口是否置顶
7 窗口是否只读(用于文本框)
8 窗口是否为Unicode窗口
9 窗口是否无响应
返回值: 布尔型,也就是只有True和False两种状态的数据类型。
脚本例子:
(8.x语法)
hwnd = Plugin.WndEx6_50.GetForegroundWindow()
If Plugin.WndEx6_50.GetWindowState(hwnd,6) Then
    MsgBox "当前窗口已置顶", 4096
Else
    MsgBox "当前窗口未置顶", 4096
End If
脚本例子:
(7.x语法)
Plugin hwnd=WndEx6_50.GetForegroundWindow()
Plugin tf=WndEx6_50.GetWindowState(hwnd,6)
If tf
    MsgBox "当前窗口已置顶", 4096
Else
    MsgBox "当前窗口未置顶", 4096
EndIf
命令名称: GetWindow 获得相关窗口
命令功能: 获得与给定窗口相关的窗口。
命令参数: 参数1 窗口句柄:长整型数。
参数2 信息代码:长整型数。根据信息代码的取值不同,从函数返回值可获得给定窗口相关的窗口的窗口句柄。可取值:
说明
0 父窗口
1 第一个子窗口
2 第一个兄弟窗口
3 最后一个兄弟窗口
4 下一个兄弟窗口
5 前一个兄弟窗口
6 所有者窗口
7 顶层窗口(如果参数1的窗口句柄是顶层窗口的窗口句柄,返回值与参数1相同)
返回值: 长整型数。根据信息代码获得的与参数1相关的窗口的窗口句柄。
脚本例子:
(8.x语法)
hwnd = Plugin.WndEx6_50.GetMousePointWindowS(1 Or 32)
HwndParent = Plugin.WndEx6_50.GetWindow(hwnd,0)
HwndChild = Plugin.WndEx6_50.GetWindow(hwnd,1)
HwndFirst = Plugin.WndEx6_50.GetWindow(hwnd,2)
HwndLast = Plugin.WndEx6_50.GetWindow(hwnd,3)
HwndNext = Plugin.WndEx6_50.GetWindow(hwnd,4)
HwndPrev = Plugin.WndEx6_50.GetWindow(hwnd,5)
HwndOwner = Plugin.WndEx6_50.GetWindow(hwnd,6)
HwndTopMost = Plugin.WndEx6_50.GetWindow(hwnd,7)
MsgBox "目标窗口:" & hwnd & vbCrLf & "父窗口:" & HwndParent & vbCrLf & "子窗口:" & HwndChild & vbCrLf & "第一个兄弟窗口:" & HwndFirst & vbCrLf & "最后一个兄弟窗口:" & HwndLast & vbCrLf & "下一个兄弟窗口:" & HwndNext & vbCrLf & "前一个兄弟窗口:" & HwndPrev & vbCrLf & "所有者窗口:" & HwndOwner & vbCrLf & "顶层窗口:" & HwndTopMost, 4096, "鼠标所指窗口"
脚本例子:
(7.x语法)
Plugin hwnd=WndEx6_50.GetMousePointWindowS(1 Or 32)
Plugin HwndParent=WndEx6_50.GetWindow(hwnd,0)
Plugin HwndChild=WndEx6_50.GetWindow(hwnd,1)
Plugin HwndFirst=WndEx6_50.GetWindow(hwnd,2)
Plugin HwndLast=WndEx6_50.GetWindow(hwnd,3)
Plugin HwndNext=WndEx6_50.GetWindow(hwnd,4)
Plugin HwndPrev=WndEx6_50.GetWindow(hwnd,5)
Plugin HwndOwner=WndEx6_50.GetWindow(hwnd,6)
Plugin HwndTopMost=WndEx6_50.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 任务栏窗口
返回值: 长整型数。根据信息代码获得的窗口句柄。
脚本例子:
(8.x语法)
HwndDesktop = Plugin.WndEx6_50.GetSpecialWindow(0)
HwndTaskman = Plugin.WndEx6_50.GetSpecialWindow(1)
MsgBox "桌面窗口句柄:" & HwndDesktop & vbCrLf & "任务栏窗口句柄:" & HwndTaskman, 4096
脚本例子:
(7.x语法)
Plugin HwndDesktop=WndEx6_50.GetSpecialWindow(0)
Plugin HwndTaskman=WndEx6_50.GetSpecialWindow(1)
MsgBox "桌面窗口句柄:" & HwndDesktop & vbCrLf & "任务栏窗口句柄:" & HwndTaskman, 4096
命令名称: GetWindowIconData 获得窗口图标数据
命令功能: 获得窗口的图标数据。
命令参数: 参数1 窗口句柄:长整型数。
参数2 方式:长整型数。保留用,目前只可取0。
返回值: 字符串。根据窗口图标获得的数据。
脚本例子:
(8.x语法)
hwnd = Plugin.WndEx6_50.GetForegroundWindow()
IconData = Plugin.WndEx6_50.GetWindowIconData(hwnd,0)
MsgBox "当前窗口图标数据:" & IconData, 4096
脚本例子:
(7.x语法)
Plugin hwnd=WndEx6_50.GetForegroundWindow()
Plugin IconData=WndEx6_50.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.WndEx6_50.GetMousePointWindow()
hwndParent = Plugin.WndEx6_50.GetWindow(hwnd,7)
ZOrder = Plugin.WndEx6_50.GetChildWindowZOrder(hwndParent,hwnd,"Button",0)
MsgBox "鼠标指向的按钮对顶层窗口的Z序:" & ZOrder, 4096

脚本例子:
(7.x语法)
//获得鼠标指向的按钮的Z序
Plugin hwnd=WndEx6_50.GetMousePointWindow()
Plugin hwndParent=WndEx6_50.GetWindow(hwnd,7)
Plugin ZOrder=WndEx6_50.GetChildWindowZOrder(hwndParent,hwnd,"Button",0)
MsgBox "鼠标指向的按钮对顶层窗口的Z序:" & ZOrder, 4096
命令名称: SetWindowText 设置窗口标题
命令功能: 设置窗口标题。可以用GetWindowInfo函数获得指定窗口的窗口标题。
命令参数: 参数1 窗口句柄:长整型数。
参数2 窗口标题:字符串。要设置的窗口标题。
返回值:  
脚本例子:
(8.x语法)
hwnd = Plugin.WndEx6_50.GetForegroundWindow()
Call Plugin.WndEx6_50.SetWindowText(hwnd,"新标题")
脚本例子:
(7.x语法)
Plugin hwnd=WndEx6_50.GetForegroundWindow()
Plugin WndEx6_50.SetWindowText(hwnd,"新标题")
命令名称: SetWindowSize 设置窗口大小
命令功能: 设置窗口大小。可以用GetWindowInfo函数获得指定窗口的窗口大小。
命令参数: 参数1 窗口句柄:长整型数。
参数2 窗口宽度:长整型数。
参数3 窗口高度:长整型数。
返回值:  
脚本例子:
(8.x语法)
hwnd = Plugin.WndEx6_50.GetForegroundWindow()
Call Plugin.WndEx6_50.SetWindowSize(hwnd,400,300)
脚本例子:
(7.x语法)
Plugin hwnd=WndEx6_50.GetForegroundWindow()
Plugin WndEx6_50.SetWindowSize(hwnd,400,300)
命令名称: SetClientSize 设置窗口客户区大小
命令功能: 设置窗口客户区大小。可以用GetWindowInfo函数获得指定窗口的窗口客户区。
命令参数: 参数1 窗口句柄:长整型数。
参数2 窗口宽度:长整型数。
参数3 窗口高度:长整型数。
返回值:  
脚本例子:
(8.x语法)
hwnd = Plugin.WndEx6_50.GetForegroundWindow()
Call Plugin.WndEx6_50.SetClientSize(hwnd,400,300)
脚本例子:
(7.x语法)
Plugin hwnd=WndEx6_50.GetForegroundWindow()
Plugin WndEx6_50.SetClientSize(hwnd,400,300)
命令名称: MoveWindow 移动窗口
命令功能: 移动窗口。可以用GetWindowInfo函数获得指定窗口左上角的屏幕坐标。
命令参数: 参数1 窗口句柄:长整型数。
参数2 横坐标:长整型数。窗口左上角在屏幕中的横坐标。
参数3 纵坐标:长整型数。窗口左上角在屏幕中的纵坐标。
返回值:  
脚本例子:
(8.x语法)
hwnd = Plugin.WndEx6_50.GetForegroundWindow()
Call Plugin.WndEx6_50.MoveWindow(hwnd,100,80)
脚本例子:
(7.x语法)
Plugin hwnd=WndEx6_50.GetForegroundWindow()
Plugin WndEx6_50.MoveWindow(hwnd,100,80)
命令名称: SetWindowSpecialPos 移动窗口到特殊位置
命令功能: 移动顶层窗口到屏幕的几个特殊位置中的一个。
命令参数: 参数1 窗口句柄:长整型数。
参数2 位置选择:长整型数。位置选择的取值不同,可将窗口移到不同的位置。可取值:
说明
0 居中
1 居中(排除任务栏区域)
2 左上角(排除任务栏区域)
3 右上角(排除任务栏区域)
4 左下角(排除任务栏区域)
5 右下角(排除任务栏区域)
返回值:  
脚本例子:
(8.x语法)
hwnd = Plugin.WndEx6_50.GetForegroundWindow()
Call Plugin.WndEx6_50.SetWindowSpecialPos(hwnd,0)
脚本例子:
(7.x语法)
Plugin hwnd=WndEx6_50.GetForegroundWindow()
Plugin WndEx6_50.SetWindowSpecialPos(hwnd,0)
命令名称: SetWindowZOrder 设置窗口前后顺序
命令功能: 设置窗口前后顺序,将窗口放在另一个窗口后面,或者放在最前后和最后面。
命令参数: 参数1 窗口句柄:长整型数。需要改变前后位置的窗口的窗口句柄。
参数2 窗口句柄2:长整型数。如果要将参数1的窗口放在另一个窗口后面,这里使用那个窗口的窗口句柄;如果要将参数1的窗口放在最前面,使用整型数0;如果要将参数1的窗口放在最后面,使用整型数1。
返回值:  
脚本例子:
(8.x语法)
hwnd = Plugin.WndEx6_50.GetForegroundWindow()
Call Plugin.WndEx6_50.SetWindowZOrder(hwnd,1)
脚本例子:
(7.x语法)
Plugin hwnd=WndEx6_50.GetForegroundWindow()
Plugin WndEx6_50.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.WndEx6_50.GetForegroundWindow()
Call Plugin.WndEx6_50.SetWindowState(hwnd,3)
脚本例子:
(7.x语法)
Plugin hwnd=WndEx6_50.GetForegroundWindow()
Plugin WndEx6_50.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.WndEx6_50.GetMousePointWindow()
Call Plugin.WndEx6_50.SetWindowId(hwnd,72)
脚本例子:
(7.x语法)
Plugin hwnd=WndEx6_50.GetMousePointWindow()
Plugin WndEx6_50.SetWindowId(hwnd,72)
命令名称: SetParent 设置父窗口
命令功能: 设置父窗口。可以将顶层窗口变成其它窗口的子窗口,也可以将其它窗口的子窗口变成顶层窗口,还可以将一个窗口的子窗口移到另一个窗口总作为子窗口。注意:此功能有可能导致被移动的窗口功能异常。
命令参数: 参数1 窗口句柄:长整型数。要改变父窗口的窗口句柄。
参数2 父窗口句柄:长整型数。此参数的窗口句柄将作为参数1的父窗口。如果要将其它窗口的子窗口变成顶层窗口,该参数取0。
参数3 方式:默认取0。取1时,如果参数1是顶层窗口,且参数2不为0,去除窗口边框和标题栏。
返回值:  
脚本例子:
(8.x语法)
//将记事本放到当前窗口中
hwnd = Plugin.WndEx6_50.FindWindow("Notepad",0)
hwndParent = Plugin.WndEx6_50.GetForegroundWindow()
Call Plugin.WndEx6_50.SetParent(hwnd,hwndParent,0)
脚本例子:
(7.x语法)
//将记事本放到当前窗口中
Plugin hwnd = WndEx6_50.FindWindow("Notepad",0)
Plugin hwndParent=WndEx6_50.GetForegroundWindow()
Plugin WndEx6_50.SetParent(hwnd,hwndParent,0)
命令名称: HighlightWindow 突出显示窗口
命令功能: 突出显示窗口。在窗口周围画一个矩形框。
命令参数: 参数1 窗口句柄:长整型数。
参数2 线条宽度:长整型数。矩形框的线条宽度。以像素为单位。
参数3 边框颜色:十六进制字符串。矩形框的颜色。
参数4 持续时间:长整型数。矩形框存在的时间,到了时间就擦除。单位是毫秒。
返回值:  
脚本例子:
(8.x语法)
例子1:
While True
    hwnd = Plugin.WndEx6_50.GetMousePointWindowS(1 Or 32)
    Call Plugin.WndEx6_50.HighlightWindow(hwnd, 4, "0000FF", 200)
    Delay 200
Wend

例子2(实用例子):
//获得鼠标左键点击的窗口的窗口句柄
//起始处的GetLastClick用于清除过去的鼠标点击记录
Call GetLastClick()
Do While True
    hwnd = Plugin.WndEx6_50.GetMousePointWindowS(1 Or 32)
    Call Plugin.WndEx6_50.HighlightWindow(hwnd, 4, "0000FF", 200)
    If GetLastClick() = 32770 Then
        Exit Do
    End If
    Delay 200
Loop
MsgBox hwnd,4096,"窗口句柄"
脚本例子:
(7.x语法)

例子1:
While True
    Plugin hwnd=WndEx6_50.GetMousePointWindowS(1 Or 32)
    Plugin WndEx6_50.HighlightWindow(hwnd,4,"0000FF",200)
    Delay 200
EndWhile

例子2(实用例子):
//获得鼠标左键点击的窗口的窗口句柄
//起始处的GetLastClick用于清除过去的鼠标点击记录
GetLastClick Mouse
lp=True
While lp
    Plugin hwnd=WndEx6_50.GetMousePointWindowS(1 Or 32)
    Plugin WndEx6_50.HighlightWindow(hwnd,4,"0000FF",200)
    GetLastClick Mouse
    If Mouse=32770
        lp=False
    Else
        Delay 200
    EndIf
EndWhile
MsgBox hwnd,4096,"窗口句柄"

命令名称: 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.WndEx6_50.GetForegroundWindow()
Call Plugin.WndEx6_50.SetWindowStyle(hwnd,6)
脚本例子:
(7.x语法)
Plugin hwnd=WndEx6_50.GetForegroundWindow()
Plugin WndEx6_50.SetWindowStyle(hwnd,6)
命令名称: HideWindowFormTaskbar 隐藏任务栏上的窗口
命令功能: 使任务栏上不显示该窗口。只能用于顶层窗口。使用RestoreWindowToTaskbar函数可恢复窗口。
命令参数: 参数1 窗口句柄:长整型数。
返回值: 长整型数,旧窗口信息,用于恢复窗口。
脚本例子:
(8.x语法)
hwnd = Plugin.WndEx6_50.GetForegroundWindow()
OldInfo = Plugin.WndEx6_50.HideWindowFormTaskbar(hwnd)
MsgBox "任务栏上的窗口已隐藏",4096
Call Plugin.WndEx6_50.RestoreWindowToTaskbar(hwnd,OldInfo)
MsgBox "任务栏上的窗口已恢复",4096
脚本例子:
(7.x语法)
Plugin hwnd=WndEx6_50.GetForegroundWindow()
Plugin OldInfo=WndEx6_50.HideWindowFormTaskbar(hwnd)
MsgBox "任务栏上的窗口已隐藏",4096
Plugin WndEx6_50.RestoreWindowToTaskbar(hwnd,OldInfo)
MsgBox "任务栏上的窗口已恢复",4096
命令名称: RestoreWindowToTaskbar 恢复任务栏上隐藏的窗口
命令功能: 恢复被HideWindowFormTaskbar函数在任务栏上隐藏的窗口。只能用于顶层窗口。
命令参数: 参数1 窗口句柄:长整型数。
参数2 旧窗口信息:长整型数。取自HideWindowFormTaskbar函数的返回值。
返回值: 长整型数,旧的窗口数据,用于恢复窗口。
脚本例子:
(8.x语法)
hwnd = Plugin.WndEx6_50.GetForegroundWindow()
OldInfo = Plugin.WndEx6_50.HideWindowFormTaskbar(hwnd)
MsgBox "任务栏上的窗口已隐藏",4096
Call Plugin.WndEx6_50.RestoreWindowToTaskbar(hwnd,OldInfo)
MsgBox "任务栏上的窗口已恢复",4096
脚本例子:
(7.x语法)
Plugin hwnd=WndEx6_50.GetForegroundWindow()
Plugin OldInfo=WndEx6_50.HideWindowFormTaskbar(hwnd)
MsgBox "任务栏上的窗口已隐藏",4096
Plugin WndEx6_50.RestoreWindowToTaskbar(hwnd,OldInfo)
MsgBox "任务栏上的窗口已恢复",4096
命令名称: SetWindowOpacity 设置透明窗口
命令功能: 设置透明窗口和鼠标穿透窗口。只能用于顶层窗口。
命令参数: 参数1 窗口句柄:长整型数。
参数2 透明色:十六进制字符串或整型数0。颜色值用十六进指制符串表示。窗口中和透明色相同的区域被挖空。取0时不使用此参数。
参数3 不透明度:长整型数。取值范围0-255,0为完全透明,255为不透明;取-1时不使用此参数。
参数4 鼠标是否可穿透:长整型数。取0为鼠标不可穿透,取1为鼠标可穿透,取-1时不使用此参数。
返回值:  
脚本例子:
(8.x语法)
hwnd = Plugin.WndEx6_50.GetForegroundWindow()
Call Plugin.WndEx6_50.SetWindowOpacity(hwnd,0,150,1)
脚本例子:
(7.x语法)
Plugin hwnd=WndEx6_50.GetForegroundWindow()
Plugin WndEx6_50.SetWindowOpacity(hwnd,0,150,1)
命令名称: SetFakeActive 窗口假激活
命令功能: 让目标窗口对应的程序以为目标窗口在被激活状态。在调用该函数的线程结束前,一直保持目标窗口在此状态。只能用于顶层窗口。
命令参数: 参数1 窗口句柄:长整型数。
参数2 方式:长整型数。保留用,目前只能取0。
返回值:  
脚本例子:
(8.x语法)
hwnd = Plugin.WndEx6_50.GetMousePointWindowS(1 Or 32 Or 16384)
Call Plugin.WndEx6_50.SetFakeActive(hwnd,0)
脚本例子:
(7.x语法)
Plugin hwnd=WndEx6_50.GetMousePointWindowS(1 Or 32 Or 16384)
Plugin WndEx6_50.SetFakeActive(hwnd,0)
命令名称: FixWindow 固定窗口
命令功能: 固定窗口,使窗口不可移动。
命令参数:

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

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

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

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

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

返回值:  
脚本例子:
(8.x语法)
hwndMS=Plugin.WndEx6_50.MinimizeSubstitute(hwnd, 0)
While True
    Delay 200
Wend
Sub OnScriptExit()
    Call Plugin.WndEx6_50.DestroyMinSub(hwndMS)
End Sub
脚本例子:
(7.x语法)
Plugin hwndMS=WndEx6_50.MinimizeSubstitute(hwnd,0)
While True
    Delay 200
EndWhile
Sub OnScriptExit
    Plugin WndEx6_50.DestroyMinSub(hwndMS)
Return
命令名称: ClientToScreen 窗口客户区坐标转屏幕坐标
命令功能: 窗口客户区坐标转屏幕坐标。
命令参数: 参数1 窗口句柄:长整型数。
参数2 横坐标:长整型数。这里传入窗口客户区横坐标,并且也传出转换后的屏幕横坐标。
参数3 纵坐标:长整型数。这里传入窗口客户区纵坐标,并且也传出转换后的屏幕纵坐标。
返回值:  
脚本例子:
(8.x语法)
hwnd = Plugin.WndEx6_50.GetForegroundWindow()
x=100
y=50
Call Plugin.WndEx6_50.ClientToScreen(hwnd,x,y)
MsgBox "当前窗口的窗口客户区坐标(100,50)转换为屏幕坐标后的值为:" & x & "," & y, 4096
脚本例子:
(7.x语法)
Plugin hwnd=WndEx6_50.GetForegroundWindow()
x=100
y=50
Plugin WndEx6_50.ClientToScreen(hwnd,x,y)
MsgBox "当前窗口的窗口客户区坐标(100,50)转换为屏幕坐标后的值为:" & x & "," & y, 4096
命令名称: ScreenToClient 屏幕坐标转窗口客户区坐标
命令功能: 屏幕坐标转窗口客户区坐标。
命令参数: 参数1 窗口句柄:长整型数。
参数2 横坐标:长整型数。这里传入屏幕横坐标,并且也传出转换后的窗口客户区横坐标。
参数2 纵坐标:长整型数。这里传入屏幕纵坐标,并且也传出转换后的窗口客户区纵坐标。
返回值:  
脚本例子:
(8.x语法)
hwnd = Plugin.WndEx6_50.GetForegroundWindow()
x=100
y=50
Call Plugin.WndEx6_50.ScreenToClient(hwnd,x,y)
MsgBox "屏幕坐标(100,50)转换为当前窗口的窗口客户区坐标后的值为:" & x & "," & y, 4096
脚本例子:
(7.x语法)
Plugin hwnd=WndEx6_50.GetForegroundWindow()
x=100
y=50
Plugin WndEx6_50.ScreenToClient(hwnd,x,y)
MsgBox "屏幕坐标(100,50)转换为当前窗口的窗口客户区坐标后的值为:" & x & "," & y, 4096
命令名称: SetKMAsync 设置键盘鼠标消息是否异步发送
命令功能: 设置键盘鼠标消息是否异步发送。同步方式发送不产生字符,等动作完成,函数才返回,异步方式无论动作是否完成都立刻返回,受其控制的函数有SendKeySendMouseSendMouseWheel,不用此函数时,默认是同步方式。
命令参数: 参数1 发送方式:长整型数。可取值是0和1,取0时为同步方式发送,取1时为异步方式发送。
返回值:  
脚本例子:
(8.x语法)
Call Plugin.WndEx6_50.SetKMAsync(1)
脚本例子:
(7.x语法)
Plugin WndEx6_50.SetKMAsync(1)
命令名称: SendKey 发送键盘消息
命令功能: 发送键盘消息,可用于部分游戏的后台键盘模拟。默认发送方式是同步方式,这个方式不要拿它在记事本上测试,那是看不出效果的,这个方式适合在游戏里。要修改发送方式可用SetKMAsync函数。
命令参数: 参数1 窗口句柄:长整型数。
参数2 键盘动作:长整型数。用于选择不同的键盘动作,0是按键,1是按下,2是弹起。
参数3 按键码:长整型数。
参数4 扩展键:长整型数。可取值0和1。键盘上有很多功能键有两个,比如有左Ctrl键和右Ctrl键,其中一个是扩展键,是扩展键时取1,键盘上的数字键和字母在这里取0即可。
返回值:  
脚本例子:
(8.x语法)
hwnd = Plugin.WndEx6_50.GetForegroundFocus()
Call Plugin.WndEx6_50.SetKMAsync(1)
While True
    Call Plugin.WndEx6_50.SendKey(hwnd,0,65,0)
    Delay 1000
Wend
脚本例子:
(7.x语法)
Plugin hwnd=WndEx6_50.GetForegroundFocus()
Plugin WndEx6_50.SetKMAsync(1)
While True
    Plugin WndEx6_50.SendKey(hwnd,0,65,0)
    Delay 1000
EndWhile
命令名称: SendMouse 发送鼠标消息
命令功能: 发送鼠标消息,可用于部分游戏的后台鼠标模拟。默认发送方式是同步方式,要修改发送方式可用SetKMAsync函数。
命令参数: 参数1 窗口句柄:长整型数。
参数2 鼠标动作:长整型数。可取值:
说明 说明
0 鼠标移动 7 左键按下
1 左键单击 8 右键按下
2 右键单击 9 中键按下
3 中键单击 10 左键弹起
4 左键双击 11 右键弹起
5 右键双击 12 中键弹起
6 中键双击    
参数3 横坐标:长整型数。窗口客户区横坐标。
参数4 纵坐标:长整型数。窗口客户区纵坐标。
返回值:  
脚本例子:
(8.x语法)
hwnd = Plugin.WndEx6_50.GetForegroundWindow()
While True
    Call Plugin.WndEx6_50.SendMouse(hwnd,1,100,80)
    Delay 500
Wend
脚本例子:
(7.x语法)
Plugin hwnd WndEx6_50.GetForegroundWindow()
While True
    Plugin WndEx6_50.SendMouse(hwnd,1,100,80)
    Delay 500
EndWhile
命令名称: SendMouseWheel 发送鼠标滚轮消息
命令功能: 发送鼠标滚轮消息,可用于部分游戏的后台鼠标模拟。默认发送方式是同步方式,要修改发送方式可用SetKMAsync函数。
命令参数: 参数1 窗口句柄:长整型数。
参数2 滚动次数:长整型数。正数是向上滚动,负数是向下滚动。
返回值:  
脚本例子:
(8.x语法)
hwnd = Plugin.WndEx6_50.GetForegroundFocus()
While True
    Call Plugin.WndEx6_50.SendMouseWheel(hwnd,-1)
    Delay 1000
Wend
脚本例子:
(7.x语法)
Plugin hwnd=WndEx6_50.GetForegroundFocus()
While True
    Plugin WndEx6_50.SendMouseWheel(hwnd,-1)
    Delay 1000
EndWhile
命令名称: SendString 发送字符串
命令功能: 发送字符串,可用于部分游戏的后台字符串发送。发送方式是同步方式,如果需要异步方式发送字符串,可使用SendStringAsync函数。
命令参数: 参数1 窗口句柄:长整型数。
参数2 字符串:字符串。要发送的字符串。
返回值:  
脚本例子:
(8.x语法)
hwnd = Plugin.WndEx6_50.GetForegroundFocus()
While True
    Call Plugin.WndEx6_50.SendString(hwnd,"输入内容")
    Delay 1000
Wend
脚本例子:
(7.x语法)
Plugin hwnd=WndEx6_50.GetForegroundFocus()
While True
    Plugin WndEx6_50.SendString(hwnd,"输入内容")
    Delay 1000
EndWhile
命令名称: SendStringAsync 异步发送字符串
命令功能: 发送字符串,可用于部分游戏的后台字符串发送。发送方式是异步方式,如果需要同步方式发送字符串,可使用SendString函数。
命令参数: 参数1 窗口句柄:长整型数。
参数2 字符串:字符串。要发送的字符串。
返回值:  
脚本例子:
(8.x语法)
hwnd = Plugin.WndEx6_50.GetForegroundFocus()
While True
    Call Plugin.WndEx6_50.SendStringAsync(hwnd,"输入内容")
    Delay 1000
Wend
脚本例子:
(7.x语法)
Plugin hwnd=WndEx6_50.GetForegroundFocus()
While True
    Plugin WndEx6_50.SendStringAsync(hwnd,"输入内容")
    Delay 1000
EndWhile
命令名称: CreateTextRgn 创建文本显示区域
命令功能: 创建文本显示区域。在屏幕上创建一个窗口,用于显示文本内容,也可以在其它窗口中创建。脚本结束前或结束时要用本插件的SetWindowState函数关闭窗口,否则窗口不会消失。
命令参数: 参数1 父窗口句柄:长整型数。在屏幕上创建取0,在其它窗口中创建取该窗口的窗口句柄。
参数2 横坐标:长整型数。设置创建的区域的位置。父窗口句柄取0时为屏幕的横坐标,父窗口句柄取其它窗口的窗口句柄时为该区域在窗口客户区的横坐标。
参数3 纵坐标:长整型数。设置创建的区域的位置。父窗口句柄取0时为屏幕的纵坐标,父窗口句柄取其它窗口的窗口句柄时为该区域在窗口客户区的纵坐标。
参数4 宽度:长整型数。设置创建的区域的宽度。
参数5 高度:长整型数。设置创建的区域的高度。
返回值: 长整型数,创建的区域窗口的窗口句柄。
脚本例子:
(8.x语法)
hwnd = Plugin.WndEx6_50.CreateTextRgn(0,100,10,200,20)
i = 0
While True
    str = CStr(now) & " 数据" & CStr(i)
    Call Plugin.WndEx6_50.SendTextRgnString(hwnd,str)
    i = i + 1
    Delay 1000
Wend
//OnScriptExit过程在脚本结束时执行,即使脚本执行到一半的时候,你按了停止热键,它也会执行了这个过程再停止
Sub OnScriptExit()
    Call Plugin.WndEx6_50.SetWindowState(hwnd,0)
End Sub
脚本例子:
(7.x语法)
Plugin hwnd=WndEx6_50.CreateTextRgn(0,100,10,200,20)
i=0
While True
    str=CStr(now) & " 数据" & CStr(i)
    Plugin WndEx6_50.SendTextRgnString(hwnd,str)
    i=i+1
Delay 1000
EndWhile
//OnScriptExit过程在脚本结束时执行,即使脚本执行到一半的时候,你按了停止热键,它也会执行了这个过程再停止
Sub OnScriptExit
    Plugin WndEx6_50.SetWindowState(hwnd,0)
Return
命令名称: SetTextRgnStyle 设置文本显示区域样式
命令功能: 设置文本显示区域的样式,用于CreateTextRgn创建的区域。
命令参数: 参数1 窗口句柄:长整型数。用于接收CreateTextRgn创建的区域窗口的窗口句柄。
参数2 背景色:十六进制字符串或者"TRP"字符串。区域的背景色。使用十六进制字符串时表示的是背景RGB颜色,使用"TRP"字符串时背景透明。
参数3 文字颜色:十六进制字符串。区域显示的文字的颜色。
参数4 字体:字符串。区域显示的文字的字体。
参数5 文字大小:长整型数。区域显示的文字的大小。用文字的高度来表示的文字大小,以像素为单位。
参数6 文字是否加粗:长整型数。区域显示的文字是否为粗体。取0为正常字体,取1为粗体。
参数7 样式:长整型数。文本显示区域的样式。取值可以是下面的一个或多个,不用时可取0。如果要同时使用多个值,可将多个值做或运算。可取值:
说明
1 区域可用鼠标移动。
2 文本向下滚动显示。滚动显示的效果是:收到SendTextRgnString发送的字符串后,原来显示的文本不删除,而是向下滚动,上面显示新增加的内容。
4 文本向上滚动显示。滚动显示的效果是:收到SendTextRgnString发送的字符串后,原来显示的文本不删除,而是向上滚动,下面显示新增加的内容。
8 鼠标穿透到父窗口,不支持文本显示区域是顶层窗口的情况。顶层窗口的鼠标穿透可以使用SetWindowOpacity函数。
返回值:  
脚本例子:
(8.x语法)
hwnd = Plugin.WndEx6_50.CreateTextRgn(0,100,10,200,20)
Call Plugin.WndEx6_50.SetTextRgnStyle(hwnd,"00FF00","000000","宋体",12,0,1)
i = 0
While True
    str = CStr(now) & " 数据" & CStr(i)
    Call Plugin.WndEx6_50.SendTextRgnString(hwnd,str)
    i = i + 1
    Delay 1000
Wend
//OnScriptExit过程在脚本结束时执行,即使脚本执行到一半的时候,你按了停止热键,它也会执行了这个过程再停止
Sub OnScriptExit()
    Call Plugin.WndEx6_50.SetWindowState(hwnd,0)
End Sub
脚本例子:
(7.x语法)
Plugin hwnd=WndEx6_50.CreateTextRgn(0,100,10,200,20)
Plugin WndEx6_50.SetTextRgnStyle(hwnd,"00FF00","000000","宋体",12,0,1)
i=0
While True
    str=CStr(now) & " 数据" & CStr(i)
    Plugin WndEx6_50.SendTextRgnString(hwnd,str)
    i=i+1
    Delay 1000
EndWhile
//OnScriptExit过程在脚本结束时执行,即使脚本执行到一半的时候,你按了停止热键,它也会执行了这个过程再停止
Sub OnScriptExit
    Plugin WndEx6_50.SetWindowState(hwnd,0)
Return
命令名称: SendTextRgnString 发送字符串给文本显示区域
命令功能: 发送字符串给文本显示区域,用于CreateTextRgn创建的区域。
命令参数: 参数1 窗口句柄:长整型数。用于接收CreateTextRgn创建的区域窗口的窗口句柄。
参数2 字符串:字符串或者整型数0。要发送到CreateTextRgn创建的区域的字符串。字符串中使用“[/C:十六进制颜色值]”可以改变字符串后面部分的颜色。使用整型数0可清理全部文本内容。
返回值:  
脚本例子:
(8.x语法)
hwnd = Plugin.WndEx6_50.CreateTextRgn(0,100,10,200,120)
Call Plugin.WndEx6_50.SetTextRgnStyle(hwnd,"00FF00","000000","宋体",12,0,1 Or 2)
i = 0
While True
    str = CStr(now) & " [/C:FF0000]数据[/C:0000FF]" & CStr(i)
    Call Plugin.WndEx6_50.SendTextRgnString(hwnd,str)
    i = i + 1
    Delay 1000
Wend
//OnScriptExit过程在脚本结束时执行,即使脚本执行到一半的时候,你按了停止热键,它也会执行了这个过程再停止
Sub OnScriptExit()
    Call Plugin.WndEx6_50.SetWindowState(hwnd,0)
End Sub
脚本例子:
(7.x语法)
Plugin hwnd=WndEx6_50.CreateTextRgn(0,100,10,200,120)
Plugin WndEx6_50.SetTextRgnStyle(hwnd,"00FF00","000000","宋体",12,0,1 Or 2)
i=0
While True
    str=CStr(now) & " [/C:FF0000]数据[/C:0000FF]" & CStr(i)
    Plugin WndEx6_50.SendTextRgnString(hwnd,str)
    i=i+1
    Delay 1000
EndWhile
//OnScriptExit过程在脚本结束时执行,即使脚本执行到一半的时候,你按了停止热键,它也会执行了这个过程再停止
Sub OnScriptExit
     Plugin WndEx6_50.SetWindowState(hwnd,0)
Return
命令名称: CreatePictureRgn 创建图像显示区域
命令功能: 创建图像显示区域,在屏幕上创建一个窗口,用于显示图片内容,也可以在其它窗口中创建。脚本结束前或结束时要用本插件的SetWindowState函数关闭窗口,否则窗口不会消失。
命令参数: 参数1 父窗口句柄:长整型数。在屏幕上创建取0,在其它窗口中创建取该窗口的窗口句柄。
参数2 横坐标:长整型数。设置创建的区域的位置。父窗口句柄取0时为屏幕的横坐标,父窗口句柄取其它窗口的窗口句柄时为该区域在窗口客户区的横坐标。
参数3 纵坐标:长整型数。设置创建的区域的位置。父窗口句柄取0时为屏幕的纵坐标,父窗口句柄取其它窗口的窗口句柄时为该区域在窗口客户区的纵坐标。
参数4 宽度:长整型数。设置创建的区域的宽度。
参数5 高度:长整型数。设置创建的区域的高度。
返回值: 长整型数,创建的区域窗口的窗口句柄。
脚本例子:
(8.x语法)
hwnd = Plugin.WndEx6_50.CreatePictureRgn(0,20,10,200,150)
Call Plugin.WndEx6_50.SetPictureRgnImage(hwnd,"图片.bmp")
While True
    Delay 1000
Wend
//OnScriptExit过程在脚本结束时执行,即使脚本执行到一半的时候,你按了停止热键,它也会执行了这个过程再停止
Sub OnScriptExit()
    Call Plugin.WndEx6_50.SetWindowState(hwnd,0)
End Sub
脚本例子:
(7.x语法)
Plugin hwnd=WndEx6_50.CreatePictureRgn(0,20,10,200,150)
Plugin WndEx6_50.SetPictureRgnImage(hwnd,"图片.bmp")
While True
    Delay 1000
EndWhile
//OnScriptExit过程在脚本结束时执行,即使脚本执行到一半的时候,你按了停止热键,它也会执行了这个过程再停止
Sub OnScriptExit
    Plugin WndEx6_50.SetWindowState(hwnd,0)
Return
命令名称: SetPictureRgnStyle 设置图像显示区域样式
命令功能: 设置图像显示区域的样式,用于CreatePictureRgn创建的区域。
命令参数: 参数1 窗口句柄:长整型数。用于接收CreatePictureRgn创建的区域窗口的窗口句柄。
参数2 样式:长整型数。默认取0,取1时区域可用鼠标移动,取2时图像大小固定为区域大小,自动缩放。效果可叠加使用(也就是做或运算,做加法也可以)。
返回值:  
脚本例子:
(8.x语法)
hwnd = Plugin.WndEx6_50.CreatePictureRgn(0,20,10,200,150)
Call Plugin.WndEx6_50.SetPictureRgnStyle(hwnd,1)
Call Plugin.WndEx6_50.SetPictureRgnImage(hwnd,"图片.bmp")
While True
    Delay 1000
Wend
//OnScriptExit过程在脚本结束时执行,即使脚本执行到一半的时候,你按了停止热键,它也会执行了这个过程再停止
Sub OnScriptExit()
    Call Plugin.WndEx6_50.SetWindowState(hwnd,0)
End Sub
脚本例子:
(7.x语法)
Plugin hwnd=WndEx6_50.CreatePictureRgn(0,20,10,200,150)
Plugin WndEx6_50.SetPictureRgnStyle(hwnd,1)
Plugin WndEx6_50.SetPictureRgnImage(hwnd,"图片.bmp")
While True
    Delay 1000
EndWhile
//OnScriptExit过程在脚本结束时执行,即使脚本执行到一半的时候,你按了停止热键,它也会执行了这个过程再停止
Sub OnScriptExit
    Plugin WndEx6_50.SetWindowState(hwnd,0)
Return
命令名称: SetPictureRgnImage 设置图像显示区域的图像
命令功能: 设置图像显示区域的图像,用于CreatePictureRgn创建的区域。
命令参数: 参数1 窗口句柄:长整型数。用于接收CreatePictureRgn创建的区域窗口的窗口句柄。
参数2 文件路径:字符串。图片文件的路径,支持BMP、JPG、GIF、PNG等图片,支持附件直读(从按键精灵V8.00开始支持),即该参数中的文件名可以使用“Attachment:\文件名”的形式。
返回值:  
脚本例子:
(8.x语法)
hwnd = Plugin.WndEx6_50.CreatePictureRgn(0,20,10,200,150)
Call Plugin.WndEx6_50.SetPictureRgnStyle(hwnd,1 Or 2)
Call Plugin.WndEx6_50.SetPictureRgnImage(hwnd,"Attachment:\图片.bmp")
While True
    Delay 1000
Wend
//OnScriptExit过程在脚本结束时执行,即使脚本执行到一半的时候,你按了停止热键,它也会执行了这个过程再停止
Sub OnScriptExit()
    Call Plugin.WndEx6_50.SetWindowState(hwnd,0)
End Sub
脚本例子:
(7.x语法)
Plugin hwnd=WndEx6_50.CreatePictureRgn(0,20,10,200,150)
Plugin WndEx6_50.SetPictureRgnStyle(hwnd,1 Or 2)
Plugin WndEx6_50.SetPictureRgnImage(hwnd,"图片.bmp")
While True
    Delay 1000
EndWhile
//OnScriptExit过程在脚本结束时执行,即使脚本执行到一半的时候,你按了停止热键,它也会执行了这个过程再停止
Sub OnScriptExit
    Plugin WndEx6_50.SetWindowState(hwnd,0)
Return
命令名称: CreateCustomRgn 创建不规则区域
命令功能: 创建不规则区域,在屏幕上根据所给的图片创建一个形状不规则的窗口,也可以在其它窗口中创建。脚本结束前或结束时要用本插件的SetWindowState函数关闭窗口,否则窗口不会消失。
命令参数: 参数1 父窗口句柄:长整型数。在屏幕上创建取0,在其它窗口中创建取该窗口的窗口句柄。
参数2 横坐标:长整型数。设置创建的区域的位置。父窗口句柄取0时为屏幕的横坐标,父窗口句柄取其它窗口的窗口句柄时为该区域在窗口客户区的横坐标。
参数3 纵坐标:长整型数。设置创建的区域的位置。父窗口句柄取0时为屏幕的纵坐标,父窗口句柄取其它窗口的窗口句柄时为该区域在窗口客户区的纵坐标。
参数4 文件路径:字符串。图片文件的路径,要求是BMP图片,支持附件直读(从按键精灵V8.00开始支持),即该参数中的文件名可以使用“Attachment:\文件名”的形式。根据图片的内容来创建不规则区域,图片的图像将成为其背景图。
参数5 透明色:十六进制字符串。图片中与该颜色相同的地方做挖空处理,形成不规则区域。
返回值: 长整型数,创建的区域窗口的窗口句柄。
脚本例子:
(8.x语法)
hwnd = Plugin.WndEx6_50.CreateCustomRgn(0,20,10,"Attachment:\图形.bmp","FF00FF")
While True
    Delay 1000
Wend
//OnScriptExit过程在脚本结束时执行,即使脚本执行到一半的时候,你按了停止热键,它也会执行了这个过程再停止
Sub OnScriptExit()
    Call Plugin.WndEx6_50.SetWindowState(hwnd,0)
End Sub
脚本例子:
(7.x语法)
Plugin hwnd=WndEx6_50.CreateCustomRgn(0,20,10,"图形.bmp","FF00FF")
While True
    Delay 1000
EndWhile
//OnScriptExit过程在脚本结束时执行,即使脚本执行到一半的时候,你按了停止热键,它也会执行了这个过程再停止
Sub OnScriptExit
    Plugin WndEx6_50.SetWindowState(hwnd,0)
Return
命令名称: SetCustomRgnStyle 设置不规则区域样式
命令功能: 设置不规则区域的样式,用于CreateCustomRgn创建的区域。
命令参数: 参数1 窗口句柄:长整型数。用于接收CreateCustomRgn创建的区域窗口的窗口句柄。
参数2 样式,长整型数。默认取0,取1时区域可用鼠标移动。
返回值:  
脚本例子:
(8.x语法)
hwnd = Plugin.WndEx6_50.CreateCustomRgn(0,20,10,"Attachment:\图形.bmp","FF00FF")
Call Plugin.WndEx6_50.SetCustomRgnStyle(hwnd,1)
While True
    Delay 1000
Wend
//OnScriptExit过程在脚本结束时执行,即使脚本执行到一半的时候,你按了停止热键,它也会执行了这个过程再停止
Sub OnScriptExit()
    Call Plugin.WndEx6_50.SetWindowState(hwnd,0)
End Sub
脚本例子:
(7.x语法)
Plugin hwnd=WndEx6_50.CreateCustomRgn(0,20,10,"图形.bmp","FF00FF")
Plugin WndEx6_50.SetCustomRgnStyle(hwnd,1)
While True
    Delay 1000
EndWhile
//OnScriptExit过程在脚本结束时执行,即使脚本执行到一半的时候,你按了停止热键,它也会执行了这个过程再停止
Sub OnScriptExit
    Plugin WndEx6_50.SetWindowState(hwnd,0)
Return
命令名称: CreateButton 创建按钮
命令功能: 创建按钮,可以在屏幕上创建,也可以在其它窗口中创建。脚本结束前或结束时要用本插件的SetWindowState函数关闭窗口,否则窗口不会消失。
命令参数: 参数1 父窗口句柄:长整型数。在屏幕上创建取0,在其它窗口中创建取该窗口的窗口句柄。
参数2 横坐标:长整型数。设置创建的按钮的位置。父窗口句柄取0时为屏幕的横坐标,父窗口句柄取其它窗口的窗口句柄时为该按钮在窗口客户区的横坐标。
参数3 纵坐标:长整型数。设置创建的按钮的位置。父窗口句柄取0时为屏幕的纵坐标,父窗口句柄取其它窗口的窗口句柄时为该按钮在窗口客户区的纵坐标。
参数4 宽度:长整型数。设置创建的按钮的宽度。
参数5 高度:长整型数。设置创建的按钮的高度。
返回值: 长整型数,创建的按钮的窗口句柄。
脚本例子:
(8.x语法)
hwnd=Plugin.WndEx6_50.CreateButton(0,20,10,100,30)
While True
    Delay 1000
Wend
//OnScriptExit过程在脚本结束时执行,即使脚本执行到一半的时候,你按了停止热键,它也会执行了这个过程再停止
Sub OnScriptExit()
    Call Plugin.WndEx6_50.SetWindowState(hwnd,0)
End Sub
脚本例子:
(7.x语法)
Plugin hwnd=WndEx6_50.CreateButton(0,20,10,100,30)
While True
    Delay 1000
EndWhile
//OnScriptExit过程在脚本结束时执行,即使脚本执行到一半的时候,你按了停止热键,它也会执行了这个过程再停止
Sub OnScriptExit
    Plugin WndEx6_50.SetWindowState(hwnd,0)
Return
命令名称: SetButtonStyle 设置按钮样式
命令功能: 设置按钮的颜色和字体,用于CreateButon创建的按钮。
命令参数: 参数1 窗口句柄:长整型数。用于接收CreateButton创建的按钮的窗口句柄。
参数2 背景颜色:十六进制字符串或整型数0。设置按钮的背景色。颜色值用十六进制字符串表示。取0时不改变背景色。
参数3 文字颜色:十六进制字符串或整型数0。设置按钮的文字颜色。颜色值用十六进制字符串表示。取0时不改变文字颜色。
参数4 字体:字符串或整型数0。设置按钮的文字字体名称。取0时使用不改变字体。
参数5 文字大小:长整型数。用文字的高度来表示的文字大小,以像素为单位。字体参数取0时此参数无效。
返回值: 长整型数,创建的按钮的窗口句柄。
脚本例子:
(8.x语法)

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

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

例子2:
Dim MyArray(2)
MyArray(0)="按钮A"
MyArray(1)="按钮B"
MyArray(2)="按钮C"
hwnd=Plugin.WndEx6_50.CreateButton(0,20,10,100,30)
Call Plugin.WndEx6_50.SetButtonStyle(hwnd,"000000","00FF00",0,0)
Call Plugin.WndEx6_50.SetButton(hwnd,MyArray)
While True
    Delay 1000
Wend
//OnScriptExit过程在脚本结束时执行,即使脚本执行到一半的时候,你按了停止热键,它也会执行了这个过程再停止
Sub OnScriptExit()
    Call Plugin.WndEx6_50.SetWindowState(hwnd,0)
End Sub
脚本例子:
(7.x语法)
例子1:
Plugin hwnd=WndEx6_50.CreateButton(0,20,10,100,30)
Plugin WndEx6_50.SetButtonStyle(hwnd,"000000","00FF00",0,0)
Plugin WndEx6_50.SetButton(hwnd,"按钮")
While True
    Delay 1000
EndWhile
//OnScriptExit过程在脚本结束时执行,即使脚本执行到一半的时候,你按了停止热键,它也会执行了这个过程再停止
Sub OnScriptExit
    Plugin WndEx6_50.SetWindowState(hwnd,0)
Return

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

例子2:
Dim MyArray(2)
MyArray(0)="按钮A"
MyArray(1)="按钮B"
MyArray(2)="按钮C"
hwnd=Plugin.WndEx6_50.CreateButton(0,20,10,100,30)
Call Plugin.WndEx6_50.SetButton(hwnd,MyArray)
OldIndex=-1
While True
    Index=Plugin.WndEx6_50.GetButtonState(hwnd)
    If Index<>OldIndex Then
        MsgBox "按钮当前序号:" & Index,4096
        OldIndex=Index
    End If
    Delay 200
Wend
//OnScriptExit过程在脚本结束时执行,即使脚本执行到一半的时候,你按了停止热键,它也会执行了这个过程再停止
Sub OnScriptExit()
    Call Plugin.WndEx6_50.SetWindowState(hwnd,0)
End Sub
脚本例子:
(7.x语法)
例子1:
Plugin hwnd=WndEx6_50.CreateButton(0,20,10,100,30)
Plugin WndEx6_50.SetButton(hwnd,"按钮")
While True
    Plugin State=WndEx6_50.GetButtonState(hwnd)
    If State=1
        MsgBox "按钮被点击",4096
    EndIf
    Delay 200
EndWhile
//OnScriptExit过程在脚本结束时执行,即使脚本执行到一半的时候,你按了停止热键,它也会执行了这个过程再停止
Sub OnScriptExit
    Plugin WndEx6_50.SetWindowState(hwnd,0)
Return

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

例子2:
Dim MyArray(2)
MyArray(0)="按钮A"
MyArray(1)="按钮B"
MyArray(2)="按钮C"
hwnd=Plugin.WndEx6_50.CreateButton(0,20,10,100,30)
Call Plugin.WndEx6_50.SetButton(hwnd,MyArray)
Call Plugin.WndEx6_50.SetButtonState(hwnd,2)
State=Plugin.WndEx6_50.GetButtonState(hwnd)
MsgBox "按钮状态值:" & State,4096
//OnScriptExit过程在脚本结束时执行,即使脚本执行到一半的时候,你按了停止热键,它也会执行了这个过程再停止
Sub OnScriptExit()
    Call Plugin.WndEx6_50.SetWindowState(hwnd,0)
End Sub
脚本例子:
(7.x语法)
例子1:
Plugin hwnd=WndEx6_50.CreateButton(0,20,10,100,30)
Plugin WndEx6_50.SetButton(hwnd,"按钮")
Plugin WndEx6_50.SetButtonState(hwnd,1)
Plugin State=WndEx6_50.GetButtonState(hwnd)
MsgBox "按钮状态值:" & State,4096
EndScript
//OnScriptExit过程在脚本结束时执行,即使脚本执行到一半的时候,你按了停止热键,它也会执行了这个过程再停止
Sub OnScriptExit
    Plugin WndEx6_50.SetWindowState(hwnd,0)
Return

例子2:
Dim MyArray(2)
MyArray(0)="按钮A"
MyArray(1)="按钮B"
MyArray(2)="按钮C"
Plugin hwnd=WndEx6_50.CreateButton(0,20,10,100,30)
Plugin WndEx6_50.SetButton(hwnd,MyArray)
Plugin WndEx6_50.SetButtonState(hwnd,2)
Plugin State=WndEx6_50.GetButtonState(hwnd)
MsgBox "按钮状态值:" & State,4096
EndScript
//OnScriptExit过程在脚本结束时执行,即使脚本执行到一半的时候,你按了停止热键,它也会执行了这个过程再停止
Sub OnScriptExit
    Plugin WndEx6_50.SetWindowState(hwnd,0)
Return
命令名称: 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.WndEx6_50.CreateWebBrowser(0,20,10,100,30,512)
While True
    Delay 1000
Wend
//OnScriptExit过程在脚本结束时执行,即使脚本执行到一半的时候,你按了停止热键,它也会执行了这个过程再停止
Sub OnScriptExit()
    Call Plugin.WndEx6_50.SetWindowState(hwnd,0)
End Sub
脚本例子:
(7.x语法)
Plugin hwnd=WndEx6_50.CreateWebBrowser(0,20,10,100,30,512)
While True
    Delay 1000
EndWhile
//OnScriptExit过程在脚本结束时执行,即使脚本执行到一半的时候,你按了停止热键,它也会执行了这个过程再停止
Sub OnScriptExit
    Plugin WndEx6_50.SetWindowState(hwnd,0)
Return
命令名称: SetWebBrowserString 用字符串设置网页浏览器内容
命令功能: 用字符串设置网页浏览器内容,用于CreateWebBrowser创建的窗口。
命令参数: 参数1 窗口句柄:长整型数。用于接收CreateWebBrowser创建的区域窗口的窗口句柄。
参数2 字符串:字符串。设置网页内容的字符串。
返回值:  
脚本例子:
(8.x语法)
hwnd = Plugin.WndEx6_50.CreateWebBrowser(0,20,10,500,400,512)
//创建网页浏览器窗口后不延时一会儿,用SetWebBrowserString会失败
Delay 500
Call Plugin.WndEx6_50.SetWebBrowserString(hwnd,"<a href=""http://www.baidu.com/"">进入百度首页</a>")
While True
    Delay 1000
Wend
//OnScriptExit过程在脚本结束时执行,即使脚本执行到一半的时候,你按了停止热键,它也会执行了这个过程再停止
Sub OnScriptExit()
    Call Plugin.WndEx6_50.SetWindowState(hwnd,0)
End Sub
脚本例子:
(7.x语法)
Plugin hwnd=WndEx6_50.CreateWebBrowser(0,20,10,500,400,512)
//创建网页浏览器窗口后不延时一会儿,用SetWebBrowserString会失败
Delay 500
Plugin WndEx6_50.SetWebBrowserString(hwnd,"<a href=""http://www.baidu.com/"">进入百度首页</a>")
While True
    Delay 1000
EndWhile
//OnScriptExit过程在脚本结束时执行,即使脚本执行到一半的时候,你按了停止热键,它也会执行了这个过程再停止
Sub OnScriptExit
    Plugin WndEx6_50.SetWindowState(hwnd,0)
Return
命令名称: SetWebBrowserUrl 通过URL设置网页浏览器内容
命令功能: 通过URL设置网页浏览器内容,用于CreateWebBrowser创建的窗口。
命令参数: 参数1 窗口句柄:长整型数。用于接收CreateWebBrowser创建的区域窗口的窗口句柄。
参数2 URL:字符串。URL地址或网页文件、图片文件、文本文件的绝对路径。
返回值:  
脚本例子:
(8.x语法)
hwnd = Plugin.WndEx6_50.CreateWebBrowser(0,20,10,500,400,512)
Call Plugin.WndEx6_50.SetWebBrowserUrl(hwnd,"http://www.baidu.com/")
While True
    Delay 1000
Wend
//OnScriptExit过程在脚本结束时执行,即使脚本执行到一半的时候,你按了停止热键,它也会执行了这个过程再停止
Sub OnScriptExit()
    Call Plugin.WndEx6_50.SetWindowState(hwnd,0)
End Sub
脚本例子:
(7.x语法)
Plugin hwnd=WndEx6_50.CreateWebBrowser(0,20,10,500,400,512)
Plugin WndEx6_50.SetWebBrowserUrl(hwnd,"http://www.baidu.com/")
While True
    Delay 1000
EndWhile
//OnScriptExit过程在脚本结束时执行,即使脚本执行到一半的时候,你按了停止热键,它也会执行了这个过程再停止
Sub OnScriptExit
    Plugin WndEx6_50.SetWindowState(hwnd,0)
Return
命令名称: 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.WndEx6_50.MsgBoxEx(0,"内容","标题",1 Or 4096,10000,1)
MsgBox ret,4096

脚本例子:
(7.x语法)
Plugin ret=WndEx6_50.MsgBoxEx(0,"内容","标题",1 Or 4096,10000,1)
MsgBox ret,4096