0

windowsHome + Shift + w の基本的なショートカットを作ろうとしています。Word が開いている場合は、Word をアクティブ ウィンドウとして設定し、Word を最大化します。それ以外の場合、Word が開いていない場合は、指定された Word 文書を開きたいと思います。このスクリプトは 1 回実行すると問題なく動作しますが、スクリプトを再起動しないと複数回実行することはできません。#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 に答える