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

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

оригинальный сценарий ахк

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

 Winactivate, lexicon - Notepad

я использую

 run Notepad
 WinActivate Notepad

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

Может кто-нибудь помочь мне разобраться с этими гремлинами?

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

Иза

1 ответ1

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

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .