Ваша проблема в том, что вы вызываете горячую клавишу F2, отправляя F2.
Чтобы избежать этого, вы захотите использовать модификатор $
на своей горячей клавише F2, например так:
$F2::
Похоже, у вас это есть на горячей клавише XButton2? Может быть, вы были на правильном пути, но не на той горячей клавише? В любом случае, он ничего не делает для вас, так что вы можете удалить его.
(Альтернатива #UseHook
может быть указана где-то выше, так что перехват клавиатуры реализован для каждой горячей клавиши после него)
А теперь несколько разных исправлений в вашем скрипте. В AHK простые повторы на самом деле сделаны так:
XButton2::F2
Сладкая чистая маленькая строчка. (Однолинейные горячие клавиши тоже не нуждаются в return
под ними)
Итак, вот ваш готовый продукт:
$F2::
IF WinExist("ahk_exe ONENOTE.EXE") {
WinActivate
}
RETURN
#IfWinActive ahk_class XLMAIN
XButton2::F2
#IfWinActive
Лично я бы тоже опускал скобки, так как они не требуются для однострочных операторов if. Но это просто предпочтение, конечно. А также не уверен, почему вы набрали return
.