如何在 Autohotkey 中创建所有 3 个条件(如何编码“AND”)

如何在 Autohotkey 中创建所有 3 个条件(如何编码“AND”)

我有一个简单的自动热键代码,但我无法弄清楚如何在执行第一个括号中的规则之前满足所有 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

答案1

Autohotkey 文档如果胜利存在/如果胜利不存在/胜利存在提供了多种条件的示例。

如果 WinExist("ahk_class Notepad") 或 WinExist("ahk_class" . ClassName)

为了达到您的目的,您需要以下代码

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

答案2

您使用“;”运算符过早结束了语句。

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

相关内容