HwndEx = Plugin.Window.Search("剑侠情缘网络版叁")
Dimenv Hwnd1
MsgBox "查找到符合的窗口句柄为:"& HwndEx
//下面这句用于分割字符串,将获得的句柄组分割
dim MyArray
MyArray = Split(HwndEx, "|")
If UBound(MyArray) >= 0 Then //判断是否搜到句柄?
For i = 0 To UBound(MyArray) - 1
hwndEx = Clng(MyArray(i)) //类型转换
Hwnd1 = hwndEx //获取可打字的窗口句柄
BeginThread cccc(Hwnd1) //启动线程
Delay 100 //启动线程需要点时间
Next
End If
//以下是【无限循环】防止全部脚本停止。
Do
Delay 1000
Loop
Function cccc(i)
//我是一个函数,被你调用了
Hwnd=i
If Hwnd>0
MsgBox("成功获得窗口!"&Hwnd)
Else
MsgBox("窗口获得失败,按确定结束……")
//如果句柄获取失败,脚本结束
End If
Call Plugin.Window.Active(Hwnd)
Call Plugin.bgkms6_10.FakeWindowState(Hwnd, 2)
//目标窗口对应的进程总是以为目标窗口在前台
Rem a
Call Plugin.Bkgnd.KeyDown(Hwnd, 67)
Call Plugin.Bkgnd.KeyUp(Hwnd, 67)
Delay 500
Goto a
End Function
/*
MessageBox "多线程命令属于高级命令功能,不推荐新手使用。"
//所谓多线程并不是同时做一件相同的事情,而是不分前后顺序执行脚本。
Dimenv Hwnd1 //定义环境变量(多线程需要)
RunApp "notepad.exe" //启动3个记事本测试用
RunApp "notepad.exe"
RunApp "notepad.exe"
Delay 2000 //等待3个记事本工具打开
Hwnd = Plugin.Window.Search("无标题 - 记事本") //搜索所有记事本窗口句柄
MyArray = Split(Hwnd, "|") //分解句柄
If UBound(MyArray) >= 0 Then //判断是否搜到句柄?
For i = 0 To UBound(MyArray) - 1
hwndEx = Clng(MyArray(i)) //类型转换
Call Plugin.Window.Move(hwndEx, i * 200 + 100, i * 200 + 100) //调整窗口位置
Call Plugin.Window.Active(hwndEx) //激活前面
Hwnd1 = Plugin.Window.FindEx(hwndEx, 0, "Edit", 0) //获取可打字的窗口句柄
BeginThread 打字 //启动线程
Delay 100 //启动线程需要点时间
Next
End If
//以下是【无限循环】防止全部脚本停止。
Do
Delay 1000
Loop
//以下是【测试用】子程序例子
Sub 打字()
//首先获取环境变量句柄
Hwnd2 = Hwnd1
//然后开始循环或者无限循环需要执行的脚本内容
For i=0 to 20
Call Plugin.Bkgnd.SendString(Hwnd2, i)
Delay 100
Call Plugin.Bkgnd.KeyPress(Hwnd2, 13)
Delay 200
Next