Я создал следующий скрипт, пытаясь получить одну горячую клавишу, которая запускает калькулятор, или, если он уже открыт, «активирует» окно или, если он уже активирован, закрывает калькулятор. Все работает отлично, примите, что, если калькулятор свернут, он не сможет его восстановить. Насколько я могу сказать, я все сделал правильно. Я не понимаю, в чем проблема. В документации AHK утверждается, что если вы вызовете WinActivate в свернутом окне, оно сначала восстановит это окно, но это ложь. Если я раскомментирую строку MsgBox, я все равно получаю сообщение, когда окно свернуто, но больше ничего не может сделать.
If WinExist("Calculator") {
;MsgBox Calculator Exists.
IfWinActive
WinKill
Else
WinGet, winState, MinMax
If (winState = -1)
WinRestore, Calculator
WinActivate, Calculator
}
Else {
run calc
WinActivate, Calculator
}