剑三你按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