Como fazer todas as 3 condições no Autohotkey (como codificar “AND”)

0

Eu tenho um código autohotkey simples, mas não consigo descobrir como reunir todas as 3 condições antes de executar as regras no primeiro intervalo.

Meu código funciona como, se qualquer condição for atendida, ele continuará. Mas eu quero todas as 3 condições satisfeitas antes de prosseguir.

As condições devem ser:

  1. o título da janela deve ser setembro de vendas.
  2. a janela deve ser o Microsoft Word
  3. process 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
    
por Faye 24.10.2017 / 09:31

2 respostas

0

A documentação do Autohotkey em IfWinExist / IfWinNotExist / WinExist fornece um exemplo de várias condições.

if WinExist("ahk_class Notepad") or WinExist("ahk_class" . ClassName)

Para seus objetivos, você deseja o seguinte código

if WinExist("September-Sales") and WinExist("ahk_class OpusApp") and WinExist("ahk_exe WINWORD.EXE")
{
    ...
}
    
por 24.10.2017 / 09:53
0

Você está terminando suas declarações muito cedo com o ';' operador.

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
    
por 24.10.2017 / 10:45