AutoHotKey: как заставить скрипт работать только в рамках определенной программы?

Я сделал скрипт AHK, который добавляет метаданные к видеоклипам в Avid Media Composer (программное обеспечение для редактирования видео). Он делает это, введя все необходимые подменю и отправляет щелчки мыши в местах на экране, которые делают трудоемкую задачу легко, когда нужно делать это снова и снова в течение всего дня.

тем не менее, я хочу, чтобы скрипт работал только в Avid Media Composer и больше ничего. Есть другие системы хранения, подключенные к машине, и я бы не хотел, чтобы сценарий в другие файлы/папки случайно делать, кто знает, что важные данные.

Я попытался использовать #IfWinActive, но я не очень опытен и не уверен, почему я не могу заставить его работать.

вот что мне нужно сделать:

Если активным окном является "Avid Media Composer", запустите "мой код".
Если что-нибудь кроме 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

каков правильный код для этой серии команд для запуска только в самом Avid Media Composer и ничего больше?

большое спасибо за любую помощь заранее.

28
задан Myles
07.04.2023 0:52 Количество просмотров материала 3040
Распечатать страницу

1 ответ

вы должны взглянуть на следующие ссылки :

согласно вашей информации, возможны следующие три:

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
1
отвечен harrymc 2023-04-08 08:40

Постоянная ссылка на данную страницу: [ Скопировать ссылку | Сгенерировать QR-код ]

Ваш ответ

Опубликуйте как Гость или авторизуйтесь

Имя
Вверх