autohotkey如何将开始和结束设置成一个键
下面是网上抄的代码,主要实现的就是按下~向游戏不断发送F12。再次按下~就停止,可是只能开始却不能停止。#IfWinActiveahk_classKGWin32App#M...
下面是网上抄的代码,主要实现的就是按下~向游戏不断发送F12。再次按下~就停止,可是只能开始却不能停止。
#IfWinActive ahk_class KGWin32App
#MaxThreadsPerHotkey 2
`::
PressKey := ! PressKey
loop
{
Send {F12}
Sleep,100
}
return
#MaxThreadsPerHotkey 1 展开
#IfWinActive ahk_class KGWin32App
#MaxThreadsPerHotkey 2
`::
PressKey := ! PressKey
loop
{
Send {F12}
Sleep,100
}
return
#MaxThreadsPerHotkey 1 展开
展开全部
剑三你按F12干嘛?
你这个脚本的问题在LOOP循环上面。
在循环体中,你并没有给出跳出循环的条件。
因为你用到了PressKey := ! PressKey这样的三元表达式,那么PressKey这个变量就可以利用。
这个三元表达式的作用就是每次你按下OEM3键(`)之后将PressKey变量的值设置为0或者1.
那么,当你设置之后就要利用到,不然要他何用?
用法当然是在循环中做 一个判断
if PressKey{ break } ; 如果PressKey = 1 就退出循环。
而这一切的前提是你用#MaxThreadsPerHotkey 2来设置同一个激活键能有两个线程。
第一个线程开始的时候 PressKey = 0 所以Loop执行中。 第二个线程开始的时候就跳出Loop循环体。
算了,说那么多你估计也不想看,直接给你结果吧。
完整的脚本。
#IfWinActive ahk_class KGWin32App
#MaxThreadsPerHotkey 2
`::
PressKey := ! PressKey
loop{
Send {F12}
Sleep,100
} Until If (PressKey = 0)
return
#MaxThreadsPerHotkey 1
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询