나는이 행동을 이해하지 못한다. 분명히 F1 UP는 키 히스토리에 표시된대로 프로그램에 의해 차단됩니다 (아래 두 번째 행부터 마지막 행까지 억제 또는 차단됨을의 미합니다).
h=Hook Hotkey, s=Suppressed (blocked)
70 03B s d 0.89 F1 temp.ahk
70 03B h u 0.17 F1
0D 01C d 0.31 Enter temp.ahk
0D 01C u 0.17 Enter temp.ahk
70 03B s d 1.36 F1
78 043 h d 0.17 F9
78 043 s u 0.16 F9
70 03B s u 0.45 F1
26 148 d 0.95 Up
당신은 아마도 F1 & F9 UP::
F1 또는 F9 중 하나의 OR 조건을 잡아서 4 스트로크 프레스 (F1 Down, F9 Down, F9 Up, F1 Up)에서 F1 Up이 아닌 F9 Up에서 발사 할 것입니다.
한 가지 가능한 솔루션은 키의 상태를 감지하고 독립적으로 코드를 호출하는 자체 루틴을 만드는 것입니다. 아마도 첫 번째 문제와 관련이 있지만 GetKeyState는 실제 코드를 추가하면 작동하지 않는 것 같습니다. F1::
전화 또는 F1 & F9::
호출하므로이 독립 실행 형을 테스트하여 다른 것으로 통합하기 전에 제대로 작동하는지 확인하십시오.
waitingForF1Up := false
CheckF1Up:
Loop
{
F1 := GetKeyState("F1", "P")
F9 := GetKeyState("F9", "P")
tooltip % F1 ", " F9
if F1 and F9 and not waitingForF1Up
{
SetTimer, F1andF9, -1
waitingForF1up := True
}
else if not F1 and waitingForF1up
{
SetTimer, F1up, -1
waitingForF1up := False
}
sleep 10
}
return
F1up:
tooltip F1 up executed
sleep 1000
tooltip
return
F1andF9:
tooltip F1 and F9 executed
sleep 1000
tooltip
return