web-dev-qa-db-ja.com

AutoHotKey:スクリプトを特定のプログラム内でのみ実行する方法は?

Avid Media Composer(ビデオ編集ソフトウェア)内のビデオクリップにメタデータを追加するAHKスクリプトを作成しました。これは、必要なすべてのサブメニューを入力し、マウスクリックを上の場所に送信することによって行われます。一日中何度もやり直す必要があるときに面倒な作業を簡単にする画面。

ただし、スクリプトをAvid Media Composerで、他には何も実行しないでください。マシンに接続されている他のストレージシステムがあり、スクリプトが誤って他のファイル/フォルダーに移動することは望ましくありません。重要なデータを誰が知っているかを実行します。

#IfWinActiveを使用してみましたが、あまり経験がなく、なぜ機能しないのかわかりません。

これが私がする必要があることです:

「AvidMediaComposer」がアクティブウィンドウの場合は、「マイコード」を実行します。 Avid Media Composerがアクティブなウィンドウである場合、Msgbox'Avid Media Composerは、このタスクを実行するためのアクティブなウィンドウである必要があります '。

-

ウィンドウタイトル、クラス、プロセス

Avid Media Composer Mojo DX

ahk_class Qt5QWindowIcon

ahk_exe AvidMediaComposer.exe

-

私のコード:

F3::

 {
    BlockInput, MouseMove
    Hotkey, LButton, DummyLabel, On
    Hotkey, RButton, DummyLabel, On
    Hotkey, MButton, DummyLabel, On
    Sleep, 20
    Send, {LAlt}
    Sleep, 20
    Send, {Right}
    Sleep, 200
    Send, {Right}
    Sleep, 20
    Send, {Right}
    Sleep, 20
    Send, {Down}
    Sleep, 20
    Send, {Down}
    Sleep, 20
    Send, {Down}
    Sleep, 20
    Send, {Down}
    Sleep, 20
    Send, {Down}
    Sleep, 20
    Send, {Down}
    Sleep, 20
    Send, {Down}
    Sleep, 20
    Send, {Down}
    Sleep, 20
    Send, {Down}
    Sleep, 20
    Send, {Down}
    Sleep, 20
    Send, {Down}
    Sleep, 20
    Send, {Down}
    Sleep, 20
    Send, {Down}
    Sleep, 20
    Send, {Down}
    Sleep, 20
    Send, {Down}
    Sleep, 20
    Send, {Down}
    Sleep, 20
    Send, {Down}
    Sleep, 20
    Send, {Down}
    Sleep, 20
    Send, {Down}
    Sleep, 20
    Send, {Right}
    Sleep, 20
    Send, {Enter}
    Sleep, 100
    MouseClick, Left, 107, 30
    Sleep, 20
    Send, {Down}
    Sleep, 20
    Send, {Down}
    Sleep, 20
    Send, {Down}
    Sleep, 20
    Send, {Down}
    Sleep, 20
    Send, {Down}
    Sleep, 20
    Send, {Down}
    Sleep, 20
    Send, {Down}
    Sleep, 20
    Send, {Down}
    Sleep, 20
    Send, {Enter}
    Sleep, 100
    MouseClick, Left, 346, 38
    Sleep, 200
    Send, ^v
    Sleep, 200
    Send, {Enter}
    Sleep, 200
    Send, {Enter}
    Sleep, 200
    MouseClick, Left, 91, 102
    Sleep, 100
    MouseClick, Left, 92, 100
    Sleep, 100
    MouseClick, Left, 143, 154
    Sleep, 100
    Send, {Down}
    BlockInput, MouseMoveoff
    Hotkey, LButton, DummyLabel, Off
    Hotkey, RButton, DummyLabel, Off
    Hotkey, MButton, DummyLabel, Off

 }
return

DummyLabel:
return

この一連のコマンドをAvidMedia Composer自体内でのみ実行し、他には何も実行しないための正しいコードは何ですか?

事前に助けてくれてありがとう。

1
Myles

次の参考資料をご覧ください。

あなたの情報によると、次の3つはすべて可能です:

SetTitleMatchMode, 2
#IfWinActive Avid Media Composer

#IfWinActive ahk_class Qt5QWindowIcon

#IfWinActive ahk_exe AvidMediaComposer

例:

SetTitleMatchMode, 2
#IfWinActive Notepad
F3:: MsgBox, IN
return
#IfWinNotActive Notepad
F3:: MsgBox, OUT
return
3
harrymc