我正在尝试为windowsHome + Shift + w创建一个基本快捷方式。如果word是打开的,我想将Word设置为活动窗口并最大化Word;否则,如果单词没有打开,我想打开一个指定的word文档。 此脚本可以正常运行一次但无法在不重新启动脚本的情况下多次运行。我尝试添加#Persistent和一个永无止境的while循环,但这仍然不起作用。我做错了什么?提前感谢您的帮助!如果你帮助我,我一定会评价你。
#Persistent
#NoEnv
#Warn
SendMode Input
SetWorkingDir %A_ScriptDir%
#+w::
while 1
{
IfWinExist *.docx - Microsoft Word
{
WinActivate
WinMaximize
}
else
{
Run, C:\Users\myHome\Desktop\311.docx
}
}
return
答案 0 :(得分:2)
这对我有用:
SendMode Input
SetWorkingDir %A_ScriptDir%
#+w::
IfWinExist ahk_class OpusApp
{
WinActivate ahk_class OpusApp
WinMaximize ahk_class OpusApp
}
else
{
Run, C:\Users\myHome\Desktop\311.docx
WinWait ahk_class OpusApp
WinActivate ahk_class OpusApp
}
return
我强烈建议您使用ahk_class来实现此目的。
此外,您不需要循环,否则在按下按键后它将始终循环,保持窗口最大化。在此示例中,操作在按下键后发生,但仅发生一次。
此外,ahk_class OpusApp是Microsoft Word 2010的正确类。
如果您需要更多帮助,请与我们联系。