PC への特定のゲーム ポートの非常に面倒な「スプリント」アクションに対処するために、AutoHotkey で次のように記述しました。
#SingleInstance,Force
#NoEnv
CoordMode,Mouse,Screen
DetectHiddenWindows,On
StringTrimRight,applicationname,A_ScriptName,4
OnExit,EXIT
Gosub,TRAYMENU
; Set the first run to turn on the loops
breakera = 0
loopa = 1
breakerw = 0
loopw = 1
Shift & LAlt::
IfWinExist,Bully
{
If loopa = 0
{
loopa := !loopa
breakera := !breakera
}
else
{
loopa := !loopa
breakera := !breakera
Loop
{
Send {LAlt}
Sleep, 1000
if breakera = 1
{
break
}
}
}
}
else
{
Gosub,BULLYERROR
}
Return
Shift & W::
IfWinExist,Bully
{
If loopw = 0
{
loopw := !loopw
breakerw := !breakerw
}
else
{
loopw := !loopw
breakerw := !breakerw
Loop
{
Send {w}
Sleep, 1000
if breakerw = 1
{
break
}
}
}
}
else
{
Gosub,BULLYERROR
}
Return
BULLYERROR:
Gui,97:Destroy
Gui,97:Margin,20,20
Gui,97:Font
Gui,97:Add,Text,y+10 yp+10,Bully is not running!
Gui,97:Show,,Error
Return
このコードは正確には効率的ではありませんが、それでも機能するように見えますが、機能しません (subs の欠落について心配する必要はありません。単なるスニペットです)。
私の意図は、+を押すと、もう一度Shift
+を押すまで毎秒Key
繰り返されるようにすることです。Key
Shift
Key
何か案は?ありがとう!