我有一个简单的自动热键代码,但我无法弄清楚如何在执行第一个括号中的规则之前满足所有 3 个条件。
我的代码功能是,只要满足任何一个条件,它就会继续。但我希望在继续之前满足所有 3 个条件。
条件应该是:
- 窗口的标题必须是“九月销售”。
- 窗口必须是 Microsoft Word
- 进程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