按键精灵怎么实现同时按下两个按键启动某个程序

按键精灵怎么实现同时按下两个或者三个按键启动某个程序比如说同时按下123回到桌面同时按下456打开我的电脑这个按键精灵软件... 按键精灵怎么实现同时按下两个或者三个按键启动某个程序
比如说 同时按下123 回到桌面 同时按下456打开我的电脑
这个按键精灵软件
展开
 我来答
春雨花团花8339
2017-05-20 · TA获得超过446个赞
知道小有建树答主
回答量:273
采纳率:0%
帮助的人:52.2万
展开全部
命令名称
BeginThread 同时运行过程

命令功能
新开一个线程运行当前脚本,从指定的过程开始运行

命令参数
字符串型,过程名
(注意:过程不能带参数,如:
Sub 过程(参数1)
End Sub

使用时会造成未知问题。)

返 回 值
整数型,线程ID [注:按键精灵8.20版新增返回值参数]

脚本例子
按键精灵8及以上语法

复制代码

//注:按键精灵8.20版“BeginThread”新增 返回值参数

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

End Sub
//注:按键精灵8.20版“BeginThread”新增 返回值参数

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
End Sub

脚本例子
按键精灵7及以下语法

复制代码

MessageBox "多线程命令属于高级命令功能,不推荐新手使用。"

//下面这个例子会打开一个记事本,用2个线程向其中模拟按键

VBSCall RunApp("notepad")

Delay 1000

SetEnv "Key","65"

BeginThread "Thread1"

While 1

Gosub PressKey

key=key+1

If key>90

key=65

EndIf

SetEnv "Key",CStr(key)

EndWhile

EndScript

Sub Thread1

For 10

Gosub PressKey

EndFor

KeyPress 13,1

SayString "线程1已经结束"

KeyPress 13,1

Return

Sub PressKey

key=GetEnv("Key")

KeyPress key,1

Delay 200

Return
追问
有心了 多谢
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式