Тема: AHK: Ввод пути в выделенное окно TotalCommander
Здравствуйте.
Помогите со скриптом.
Как скриптом AHK - в то окно TotalCommander, которое выделено на текущий момент - в окно ввода пути - ввести текст "C:\документы 2\571\" и нажать Энтер ?
Вы не вошли. Пожалуйста, войдите или зарегистрируйтесь.
Страницы 1
Чтобы отправить ответ, вы должны войти или зарегистрироваться
Здравствуйте.
Помогите со скриптом.
Как скриптом AHK - в то окно TotalCommander, которое выделено на текущий момент - в окно ввода пути - ввести текст "C:\документы 2\571\" и нажать Энтер ?
Вроде, так должно бы работать:
new_pth := "C:\документы 2\571\"
f1::
ControlGetText, Text, TMyPanel9, ahk_class TTOTAL_CMD
Sleep, 100
ControlSetText, TMyPanel9, %new_pth%, ahk_class TTOTAL_CMD
Sleep, 100
ControlFocus, TMyPanel9, ahk_class TTOTAL_CMD
Sleep, 100
;ControlSend, TMyPanel9, {Enter}, ahk_class TTOTAL_CMD
return
Может кто подскажет, что не так.
DD, по какой-то причине не работает.
Просто в трее появляется иконка скрипта и больше ничего не происходит.
new_pth := "C:\документы 2\571\"
f1::
WinGet, hw_TTOTAL_CMD, ID, ahk_class TTOTAL_CMD ; получить ID окна TC (последнего активного)
ControlSetText, Edit1, cd %new_pth%, ahk_id %hw_TTOTAL_CMD% ; вбиваем путь в ком. строку
ControlSend, Edit1, {Enter}, ahk_id %hw_TTOTAL_CMD% ; открываем папку
return
Переходить будет по клавише F1.
DD, да действительно по F1 работает.
А как автоматически перейти ?
То есть не через F1, а просто при активации данного скрипта - то есть сразу же ?
как автоматически перейти ?
Естественно — убрав горячую клавишу).
Естественно — убрав горячую клавишу).
Если убрать горячую клавишу - вообще перестает работать.
Я имею ввиду - как заставить скрипт выполняться автоматически, чтобы он выполнялся просто при запуске ?
Чтобы выполнялся сразу же — надо чтобы окно менеджера было активно, как вы писали в первом сообщении. Или же нужно добавить строчку для активации окна TC (если TC уже запущен), либо запуска TC.
при активации данного скрипта - то есть сразу же ?
Уточните, как будет активироваться скрипт: из окна ТС, из другого скрипта? Из Проводника?
Уточните, как будет активироваться скрипт: из окна ТС, из другого скрипта? Из Проводника?
Из окна конкретного TC.
Всего открыто три TC.
Проверял с несколькими ТС — работает. Может, вы путь указываете несуществующий? Или что-то дописали в скрипте, из-за чего меняется фокус.
DD, нет - не работает именно скрипт.
Выдает ошибку :
An older instance of this script is already running. Replace it with this instance ?
(Насчет пути - разумеется я указываю адрес существующей папки)
(И в скрипте - ничего не дописано. Вот как был он скопирован один в один - так и запускался - с другой папкой только)
Это не ошибка, а уведомление о том, что предыдущий экземпляр скрипта уже запущен. То есть, вы его повторно запускаете с какой-то директивой.
один в один
Вы закомментировали горячую клавишу и заодно "return" из скрипта? В нем должна быть строчка с путём и тремя строчками кода, в таком виде он обязан работать. На всякий случай, обновите AutoHotkey. И честно говоря, можно было обойтись ярлыком к вашей папке, без горячей клавиши было бы то же самое).
Это не ошибка, а уведомление о том, что предыдущий экземпляр скрипта уже запущен.
В смысле - предыдущий скрипт ?
В трее висит один-единственный скрипт - ваш.
Больше нет ни одного.
Вы закомментировали горячую клавишу и заодно "return" из скрипта? В нем должна быть строчка с путём и тремя строчками кода, в таком виде он обязан работать.
Скрипт выглядит в точности так - как он записан в вашем сообщении.
В нем должна быть строчка с путём и тремя строчками кода, в таком виде он обязан работать.
К сожалению на текущий момент он не работает, даже при переустановленном Autohotkey (и все прочие скрипты ahk - нормально работают).
И честно говоря, можно было обойтись ярлыком к вашей папке
Речь шла не о ярлыке, а о выполнении действия для того окна TotalCommander, которое выделено на текущий момент (всего TC-несколько) - в окно ввода пути - ввести текст "C:\документы 2\571\" и нажать Энтер.
Как проверить классы и контролы своего экземпляра TC ?
ОсиповаТатьяна, запостите свой скрипт.
Скрипт выглядит в точности так - как он записан в вашем сообщении.
То есть, вы не убрали/не закомментировали из него горячую клавишу? Из-за неё-то он и висит в трее.
Понимаю, что речь шла не о ярлыке. Но если простым ярлыком можно добиться того же, что делает скрипт — зачем скрипт?) Зачем прописывать путь в скрипте, если можно его прописать в ярлыке?
Про классы и контролы вспомнил, что у вас получалось по F1 по ним переходить, значит, они стандартные.
запостите свой скрипт.
Вот так выглядит мой скрипт:
(Как можно видеть - это точная копия скрипта из сообщения 4)
new_pth := "C:\документы 2\571\"
f1::
WinGet, hw_TTOTAL_CMD, ID, ahk_class TTOTAL_CMD ; получить ID окна TC (последнего активного)
ControlSetText, Edit1, cd %new_pth%, ahk_id %hw_TTOTAL_CMD% ; вбиваем путь в ком. строку
ControlSend, Edit1, {Enter}, ahk_id %hw_TTOTAL_CMD% ; открываем папку
return
DD, одну секундочку.
Вроде пару раз сработало.
Сейчас надо разобраться.
Как я выше писал — вам следовало убрать, либо закомментировать горячую клавишу, иначе подпрограмма никогда не запустится. То есть, для начала убрать клавишу, а уже потом смотреть, что там дальше не работает).
DD, В общем заработал вот такой код:
new_pth := "C:\документы 2\571\"
;f1::
WinGet, hw_TTOTAL_CMD, ID, ahk_class TTOTAL_CMD ; получить ID окна TC (последнего активного)
ControlSetText, Edit1, cd %new_pth%, ahk_id %hw_TTOTAL_CMD% ; вбиваем путь в ком. строку
ControlSend, Edit1, {Enter}, ahk_id %hw_TTOTAL_CMD% ; открываем папку
return
Так что все работает нормально.
Большое спасибо вам за ответ.
Но я же ещё в начале писал, что надо убрать горячую клавишу, на что вы ответили, что без нее вообще не работает).
Все верно.
Вы были правы.
Страницы 1
Чтобы отправить ответ, вы должны войти или зарегистрироваться