Этот вопрос об использовании AutoHotKey относится к редактору Windows LaTeX, который называется TeXnicCenter.
Итак, я пытался написать свой первый скрипт AutoHotKey (AHK) и хотел, чтобы ярлыки были доступны только при активном окне TeXniceCenter. AHK предоставляет ключевое слово IfWinActive
для этих сценариев, однако я столкнулся с некоторыми трудностями при использовании этого ключевого слова.
Вот черновик файла, который я написал:
SetTitleMatchMode, 2
SetTitleMatchMode, Slow
#IfWinActive, .* TeXnicCenter *.
!t::
Send \texttt{{}{}}
return
#IfWinActive, .* TeXnicCenter *.
линия, так что шаблон "TeXnicCenter" находится где-то в названии окна, не работает.
Были и другие варианты, от которых я отказался
Я использую TeXnicCenter в основном с проектами, поэтому имя окна отображается как «имя проекта - TeXnicCenter», поэтому его невозможно использовать в качестве аргумента
IfWinActive
. Обратите внимание, что имя окна TeXnicCenter, если вы работаете с автономными документами.Еще одна опция, предоставляемая AHK, заключается в том, что вы используете нечто, называемое
ahk_class
процесса, которое обычно интуитивно понятно (и его можно получить из удобного связанного инструмента AHK, называемого Window Spy) - например, в случае Chrome этоChrome_WidgetWin_1
.
Однако для TeXnicCenter он показывает странную подпись - например, для одного из моих проектов это Afx:000000013F370000:8:0000000000010005:0000000000000000:0000000012B80087
, и не только это, он не является постоянным в окнах TeXnicCenter , так как он обычно для других процессов.
Я в растерянности - есть ли у кого-нибудь опыт настройки AHK с TeXnicCenter и использования ключевого слова IfWinActive
? У меня есть ощущение, что это может быть лучше направлено на разработчиков TeXnicCenter, но здесь есть надежда.