马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要 登录 才可以下载或查看,没有账号?立即注册
×
按键精灵写脚本的时候,有时会碰到要给子线程传递数组的情况。看到按键精灵论坛有人为了解决这个问题把数组转换成字符串,子线程取到数据后又转换回来,为了转换回来能方便地分割字符串,通常用个分割字符串的字符把数组元素连接起来,这样转换回数组的时候进行分割,但这样有个缺点:数组元素中不能包含分割字符串的字符。虽然一般用很少用的字符来做分割字符串的字符,但很多时候不能保证数组元素中不包含这个字符。361度窗口插件中线程间传递数据的函数PostThreadData和RecvThreadData可以传递多种数据类型的数据,其中包括数组,例子如下:
[按键精灵] 纯文本查看 复制代码 Dim data
'创建数组并赋值
data=Array("data1","data2","data3")
'创建线程
tid = BeginThread(MyThread)
'发送线程数据,这里发送的是数组
Call Plugin.WndEx7_20.PostThreadData(tid, data, 0)
Sub MyThread()
Dim str
Do
'接收线程数据
If Plugin.WndEx7_20.RecvThreadData(data) = 0 Then
Exit Do
End If
Delay 50
Loop
'判断是否是数组
If IsArray(data) Then
'连接数组元素为字符串
str=Join(data,",")
Else
str=CStr(data)
End If
MsgBox str,4096
End Sub
脚本中使用的361度窗口插件下载:
http://pan.baidu.com/s/1ntQswaP
本文转载于361度插件作者博客
http://bg361.blog.163.com/
紫猫注:最新版按键精灵2014已经支持数组全局变量了,详见按键精灵2014全局数组变量传递(支持静态与动态) |