2

Есть ли способ извлечь содержимое буфера Putty из скрипта AutoHotKey? Для многих приложений WinGetText работает, но, похоже, не для Putty. Кроме того, шпион Windows AHK не отображает текст из буфера, поэтому я подозреваю, что Putty просто использует другой метод хранения / отображения для своего буфера.

Мне интересно, можете ли вы включить параметр в Putty таким образом, чтобы он отображал содержимое своего буфера стандартным для Windows способом, который AHK мог бы затем выбрать в качестве текста видимого окна.

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

2 ответа2

2

Я прочитал другой подход: пусть PuTTY записывает содержимое в файл журнала. Затем прочитайте AutoHotKey из файла. Это может предоставить соответствующую информацию:

autoputty скриптовых-телнет-потребность-помощь

Вот еще один подход:

gist.github.com/serf/2710415

Он включает в себя выбор текста, который копирует его в буфер обмена, а затем считывает AutoHotKey из буфера обмена. (Он также сохраняет копию буфера обмена перед тем, как скопировать буфер обмена, и восстанавливает резервные копии данных буфера обмена).

buixuanlinh.com/blog/?р = 80

показывает простой пример входа в систему с помощью PuTTY.

AutoHotkey:_Launch_putty_or_RDP_sessions_via_a_tree-driven_selection_menu

Я проверил ноль этих решений. Удачи.

Если у вас есть доступ к серверу, вы можете заняться работой на стороне сервера. Например, у вас может быть ключ SSH, который позволяет пользователю выполнять только одну команду (или запуск команды, например, "sudo mount", но не «sudo everything-else»); sudo может также предоставить ограничения на то, какая команда используется. OpenSSH может позволить одному пользователю иметь несколько ключей. Таким образом, выбор используемого вами ключа на локальном / клиентском конце может повлиять на то, что происходит при подключении к серверу. Подробности, которые, вероятно, будут полезны всем, кто хочет изучить этот маршрут, можно найти по адресу:

cyberpillar.com/dirsver/1/mainsite/techns/netfeats/users/usrbasop/userauth/authkeyf/authkeyf.htm#sshkycmd

0

Я проделал такой процесс перед использованием команды ImageSearch : сделайте снимок экрана с пустым приглашением для входа в систему и используйте ImageSearch, чтобы определить, было ли получено приглашение. Я нашел это относительно надежным (хотя ни в коем случае не идеальным) - это может работать для вас!

Для более надежной системы вам, вероятно, понадобится написать скрипт, который выполняет взаимодействие с ssh, например, python с pexpect , который я успешно использовал. Инструкции о том, как это сделать, выходят за рамки этого вопроса, но в зависимости от того, с какими языками сценариев вы знакомы (кроме AutoHotKey), я уверен, что будет возможность. У меня нет опыта делать подобные вещи в perl , но это возможно.

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