按键精灵怎么控制多个窗口。要什么多线程。基本的我还是董的。但是这个多线程还是懵懵懂懂。还望大神赐教
发布网友
发布时间:2023-04-26 09:08
我来回答
共1个回答
热心网友
时间:2023-11-10 07:01
很少用多线程,感觉容易冲突.
不能完全同步,有5毫秒内的差距
//多线程
Global
hwnd1
,hwnd2
//全局变量,多线程可得到他们的值
//打开2个记事本
For
2
RunApp
"notepad.exe"
Next
Do
Delay
1000
//下面这句是遍历符合窗口标题("记事本")的句柄保存到数组(HwndEx)里
HwndEx
=
Plugin.Window.Search("记事本")
Loop
Until
len(hwndex)>0
MsgBox
"查找到符合的窗口句柄为:"&
HwndEx
//下面这句用于分割字符串,将获得的句柄组分割
//dim
MyArray
MyArray
=
Split(HwndEx,
"|")
If
UBound(MyArray)>=0
Then
i=0
For
UBound(MyArray)
//下面这句将字符串转换成数值
Msgbox
"第
"&
i+1
&"
个窗口句柄为:"&Clng(MyArray(i))
i=i+1
Next
hwnd1=Clng(MyArray(0))
hwnd2=Clng(MyArray(1))
End
If
线程ID1=BeginThread(移动窗口1)
线程ID2=BeginThread(移动窗口2)
//写两个一样的子程序为了防止冲突
Sub
移动窗口1
//移动窗口到(0,
0)位置
Call
Plugin.Window.Move(Hwnd1,
0,
0)
End
Sub
Sub
移动窗口2
//移动窗口到(0,
0)位置
Call
Plugin.Window.Move(Hwnd2,
0,
0)
End
Sub