сценарий autohotkey работает только в том случае, если каждый раз создается новый файл Блокнота

у меня очень мало опыта работы с AHK, но после некоторых проб и ошибок мне удалось написать сценарий, который спас меня тонны времени. Каким-то образом он перестал работать, и теперь, когда я пытаюсь устранить его, я озадачен поведением AHK, поскольку он работает только в том случае, если я каждый раз прошу сценарий создать новый файл блокнота вместо повторного использования.

Так... мой оригинальный сценарий позволил мне добавить строки в существующий разделенный табуляцией глоссарий терминов в блокноте (имя файла: "lexicon"). Я хотел бы подчеркнуть слово в Chrome и нажмите клавишу #(для "источника"), и мой термин будет скопирован в мой глоссарий, с последующим нажатием клавиши Tab; затем я хотел бы подчеркнуть в переводе термин и нажмите клавишу #(для "целевой"), и он будет скопирован в углу вкладки, переместите курсор на следующую строку, и минимизировать Блокнот. Это мой оригинальный скрипт:

original ahk script

Я счастливо использовал его на месяцы, до одного дня он не будет останавливать работать. Я попытался выяснить, что это неправильно с ним, и я был в состоянии точно определить, что проблема заключается в файле Блокнота. Если вместо

 Winactivate, lexicon - Notepad

Я использую

 run Notepad
 WinActivate Notepad

он будет создавать новый файл Блокнота каждый раз, когда я нажимаю #s, и вставить выделенный термин к нему, который вроде что я хочу, чтобы это произошло, за исключением того, что мне нужно, чтобы это произошло в моем существующем файле "лексикон", вместо того, чтобы копировать каждый термин в новый, отдельный экземпляр Блокнота.

может кто-нибудь помочь мне выяснить, эти Гремлины?

большое спасибо!!!

Iza

4
задан IzaO
07.11.2022 1:45 Количество просмотров материала 2806
Распечатать страницу

1 ответ

попробуйте добавить

WinWaitActive, lexicon - Notepad

после

Winactivate, lexicon - Notepad

попробуйте также заменить

winactivate, chrome

С

winactivate, ahk_exe chrome.exe

самый простой способ записать текст в файл-использовать FileAppend:

#s::
clipboard = ; empty anything in the clipboard
Send ^c ; copies highlighted term
ClipWait, 0.5
FileAppend, %clipboard%%A_Tab%, C:\lexicon.txt
Return


#t::
clipboard = ; empty anything in the clipboard
Send ^c ; copies highlighted term
ClipWait, 0.5   
FileAppend, %clipboard%`n, C:\lexicon.txt
; Run C:\lexicon.txt
Return
1
отвечен user3419297 2022-11-08 09:33

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

Ваш ответ

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

Имя
Вверх