Putty から AHK 表示ウィンドウ テキストを取得するにはどうすればよいでしょうか?

Putty から AHK 表示ウィンドウ テキストを取得するにはどうすればよいでしょうか?

AutoHotKeyスクリプトからPuttyバッファの内容を取得する方法はありますか?多くのアプリケーションでは、ウィンゲットテキスト動作しますが、Putty では動作しないようです。また、AHK Windows Spy はバッファからのテキストを表示しないので、Putty はバッファの保存/表示に単に異なる方法を使用しているのではないかと思います。

Putty で設定を有効にして、バッファの内容をウィンドウ標準の方法で公開し、AHK がそれを表示ウィンドウ テキストとして取得できるようにするかどうか疑問に思っています。

あるいは、私が知らない AHK の機能でそのテキストを取得できる可能性もあると思いますが、その可能性は低いようです。

答え1

別のアプローチを読みました: PuTTY にログ ファイルに内容を書き込ませ、次に AutoHotKey にファイルから読み込ませます。これにより、関連情報が提供される可能性があります:

autoputty スクリプト telnet ヘルプが必要

別のアプローチは次のとおりです。

出典: github.com

テキストを選択してクリップボードにコピーし、AutoHotKey にクリップボードから読み取らせます (クリップボードを上書きする前にクリップボードのコピーを保存し、バックアップしたクリップボード データを復元します)。

buixuanlinh.com/blog/?p=80

PuTTY を使用してログインする簡単な例を示します。

AutoHotkey: ツリー駆動選択メニューを介して Putty または RDP セッションを起動します

これらの解決策を 1 つもテストしていません。 では、頑張ってください。

サーバーにアクセスできる場合は、サーバー側での操作を検討してください。たとえば、ユーザーに 1 つのコマンド (または「sudo mount」などのコマンドの開始のみを許可し、「sudo anything-else」は許可しない) のみを実行できる SSH キーを作成できます。sudo では、使用するコマンドに制限を設けることもできます。OpenSSH では、1 人のユーザーが複数のキーを持つことができます。したがって、ローカル/クライアント側で使用するキーを選択すると、サーバーに接続したときに発生する動作に影響する可能性があります。このルートを探索したい人にとって役立つと思われる詳細は、次の場所にあります。

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

答え2

コマンドを使用する前に、次のようなプロセスを実行しましたImageSearch。空のログイン プロンプトのスクリーンショットを撮り、ImageSearch を使用してプロンプトに到達したかどうかを判断します。これは比較的信頼性が高いことがわかりました (ただし、完璧ではありません)。これでうまくいくかもしれません。

より信頼性の高いシステムを実現するには、たとえばpythonなどの で、ssh のやり取りを行うスクリプトpexpectを作成する必要があるでしょう。これは私がうまく使用しています。その方法についての説明はこの質問の範囲外ですが、使い慣れているスクリプト言語 (AutoHotKey 以外) によっては、オプションがあるはずです。 でこのようなことを行った経験はありませんperlが、可能かもしれません。

関連情報