Dimenv 鼠标指向窗口, 线程启动ID
//利用界面列表框制作多线程单停单启及一键启动,以记事本为演示
//界面需设置个列表框,名称设置为“界面列表框”
Call Plugin.Msg.Tips("脚本已启动")
Do
Delay 100
qdckan = WaitKey()
If qdckan = 117 Then//F6单启动
鼠标指向窗口 = Plugin.Window.MousePoint()
启动窗口加载
ElseIf qdckan = 118 Then//F7单停止
鼠标指向窗口 = Plugin.Window.MousePoint()
停止窗口加载
ElseIf qdckan = 116 Then//一键全启动
HwndEx = Plugin.Window.Search("记事本")
MyArray = Split(HwndEx, "|")
If UBound(MyArray) >= 0 Then
For i = 0 To UBound(MyArray) - 1
鼠标指向窗口 = Plugin.Window.FindEx(MyArray(i), 0, "Edit", 0)
线程启动ID = BeginThread(主程序)
Delay 1000
Next
Else
Call Plugin.Msg.Tips("未发现窗口")
End If
End If
Loop
Sub 启动窗口加载
If Instr(Form1.界面列表框.List, 鼠标指向窗口) = 0 Then
线程启动ID = BeginThread(主程序)
Else
Call Plugin.Msg.Tips("窗口已经启动过,如需停止请按F7")
End If
End Sub
Sub 停止窗口加载
If Instr(Form1.界面列表框.List, 鼠标指向窗口) > 0 Then
kzd_fgsysj = split(Form1.界面列表框.List, "|")
For i = 0 To UBound(kzd_fgsysj)
kzd_ecfgsj = split(kzd_fgsysj(i), ",")
If CStr(kzd_ecfgsj(0)) = CStr(鼠标指向窗口) Then
StopThread kzd_ecfgsj(1)
Form1.界面列表框.RemoveItem i
Call Plugin.Msg.Tips("窗口已停止")
Exit For
End If
Next
Else
Call Plugin.Msg.Tips("窗口都没启动过,你停止啥")
End If
End Sub
Sub 主程序
Call Plugin.Msg.Tips("线程开始启动")
hwnd = 鼠标指向窗口
Form1.界面列表框.AddItem hwnd & "," & 线程启动ID
For a = 97 To 105
Delay 1000
Call Plugin.Bkgnd.KeyPress(hwnd, a)
Next
End Sub