按键精灵多线程调用大漠
目前来讲,按键的多线程还不够成熟。 尽量少用。以下是在按键下使用多线程调用插件的一个示例.
// 注册部分我就省略了
Dim hwnd
Set dm = createobject("dm.dmsoft")
TracePrint dm.Ver()
// 主绑定(当然你也可以不要主绑定。直接在线程里绑定)
hwnd = dm.GetMousePointWindow()
dm_ret = dm.BindWindow(hwnd, "dx", "windows", "windows", 0)
TracePrint dm_ret
Id1 = BeginThread(测试线程)
Id2 = BeginThread(测试线程)
Do
Delay 2000
TracePrint "主线程"
Loop
// 这里必须用ExitScript 以免线程无法停止.
ExitScript
Sub 测试线程()
Set dm = createobject("dm.dmsoft")
// 副绑定
dm_ret = dm.BindWindow(hwnd, "dx", "windows", "windows", 0)
TracePrint dm_ret
Do
Delay 2000
TracePrint "子线程"
Loop
End Sub
Sub OnScriptExit()
TracePrint "OnScriptExit"
dm.UnBindWindow
End Sub
// 以下函数只在按键9及之后的版本有效. 这个可以保证线程里的绑定可以正常释放.
Sub OnThreadExit()
TracePrint " OnThreadExit "
dm.UnBindWindow
End Sub