0

我正在尝试为 windowsHome + Shift + w 创建一个基本快捷方式。如果 word 已打开,我想将 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 
4

1 回答 1

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 的正确类。

如果您需要更多帮助,请告诉我。

于 2013-11-11T16:43:48.510 回答