按键精灵怎么实现按一个键鼠标左键无限单击,再按同一个键鼠标停止单击?

按键精灵怎么实现按一个键鼠标左键无限单击,再按同一个键鼠标停止单击?我想做一个脚本,实现按不同键触发不同的子功能,现在就是纠结怎样按一次F4后鼠标无限单击,再按一次F4后... 按键精灵怎么实现按一个键鼠标左键无限单击,再按同一个键鼠标停止单击?我想做一个脚本,实现按不同键触发不同的子功能,现在就是纠结怎样按一次F4后鼠标无限单击,再按一次F4后跳出单击循环,重新进入等待按键触发子功能的那一步,下面是示例但是没解决问题的代码..
Dim run,m
run=1
m=0
Do Until Run=0
Key=WaitKey()

Select CASE Key
Case 115
Call 左键连点
End Select
Delay 10
Loop
Sub 左键连点
Do Until m = 1
Key=GetLastKey
If key = 115 Then
m = 1
Else
LeftClick 1
End If
Loop
End Sub
展开
 我来答
715124156
2013-07-12 · 超过43用户采纳过TA的回答
知道答主
回答量:109
采纳率:0%
帮助的人:114万
展开全部
你可以用跳转啊
Rem 变量
//标记一个叫“变量”的地方

Goto 变量
//跳转到哪个叫“变量”的地方,即直接从这里跳到标记的地方

嗯,我分析了一下这段代码的意思。
如果按的键是“115”就跳到子程序,你是因为Key=115才跳到子程序的,
所以你的判断语句中Key绝对等于“115”,就直接m=1跳出循环了,
根本不会出现Key≠115的情况,也就是说鼠标绝对不会点击
所以你这个子程序根本就没有意义

找你描述的那样写应该是(115是F4的按键码吗?我就把115当作F4的按键码举例)

Do
Rem 等待按键
Key=WaitKey()
Select Case Key
Case 115
Call 左键连点()
End Select
Delay 10
Loop
Sub 左键连点()
Do While Key = 115
LeftClick 1
Key = GetLastKey()
Loop
Goto 等待按键
End Sub

当然,我只是针对这一段代码做了改动,
或许你写的某些代码可能对接下来要写的有用,我给你删了,请谅解。
追问

字数太多发不上来。。截图了

追答
嗯,你的意思是按一次F4就开始连点,再按一次就停止,重新等待按键吧。
嗯,这个很困难啊。
我想了下,或许可以用多线程:

即一边不停地点左键,一边等待按键

//==============================
// 主程序
//==============================
Do
Rem 等待按键
Key=WaitKey()
Select Case Key
Case 115
ID1 = BeginThread(左键连点)
ID2 = BeginThread(xxx)
End Select
Delay 10
Loop
//==============================
// F4
//==============================
Sub 左键连点()
Do
LeftClick 1
Delay 50
Loop

End Sub

Sub xxx()
Rem xxxKeya
Keya = WaitKey()
If Keya = 115 Then
StopThread ID1
Goto 等待按键
Else
Goto xxxKeya
End If
End Sub

说实话,我从来没用过多线程,
所以我不知道这样用对不对,你就帮我试验一下啦, 把结果告诉我。
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式