autohotkey如何将开始和结束设置成一个键

下面是网上抄的代码,主要实现的就是按下~向游戏不断发送F12。再次按下~就停止,可是只能开始却不能停止。#IfWinActiveahk_classKGWin32App#M... 下面是网上抄的代码,主要实现的就是按下~向游戏不断发送F12。再次按下~就停止,可是只能开始却不能停止。

#IfWinActive ahk_class KGWin32App
#MaxThreadsPerHotkey 2

`::

PressKey := ! PressKey

loop
{
Send {F12}
Sleep,100
}
return

#MaxThreadsPerHotkey 1
展开
 我来答
百度网友39c78bfd6
推荐于2016-06-02 · TA获得超过465个赞
知道小有建树答主
回答量:107
采纳率:0%
帮助的人:127万
展开全部

剑三你按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
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式