У меня есть простой код autohotkey, но я не могу понять, как выполнить все 3 условия, прежде чем выполнять правила в первой скобке.

Мой код работает следующим образом: если будет выполнено какое-либо условие, оно продолжится. Но я хочу, чтобы все 3 условия были выполнены, прежде чем продолжить.

Условия должны быть:

  1. заголовок окна должен быть сентябрь-продажи.
  2. окно должно быть Microsoft Word
  3. процесс winword.exe
Start:

IfWinExist, September-Sales ; (Title of the Microsoft Word Window)

if WinExist("ahk_class OpusApp")    ; class

if WinExist("ahk_exe WINWORD.EXE")  ; process
{
    WinActivate
    SendInput, {Tab}
    SendInput, {Invoice Category}
    SendInput, {Enter}
}

else 
    msgbox, Call the Encoder and give the O.R. Number.
Return
End

2 ответа2

0

В документации Autohotkey для IfWinExist / IfWinNotExist / WinExist приведен пример нескольких условий.

если WinExist("блокнот ahk_class") или WinExist("блокнот ahk_class"). ИмяКласс)

Для ваших целей вы хотели бы следующий код

if WinExist("September-Sales") and WinExist("ahk_class OpusApp") and WinExist("ahk_exe WINWORD.EXE")
{
    ...
}
0

Вы слишком рано заканчиваете свои утверждения знаком «;» оператор.

if WinExist("ahk_exe WINWORD.EXE") &&  WinExist("ahk_class OpusApp")
{
    WinActivate
    SendInput, {Tab}
    SendInput, {Invoice Category}
    SendInput, {Enter}
}
else 
{
    msgbox, Call the Encoder and give the O.R. Number.
}
Return

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .