¿Cómo obtener el texto de ventana visible AHK de Putty?

¿Cómo obtener el texto de ventana visible AHK de Putty?

¿Existe alguna forma de recuperar el contenido del búfer de Putty desde un script AutoHotKey? Para muchas aplicaciones,WinGetTextfunciona, pero no parece que funcione con Putty. Además, AHK Windows Spy no muestra ningún texto del búfer, por lo que sospecho que Putty simplemente usa un método diferente de almacenamiento/visualización para su búfer.

Me pregunto si puede habilitar una configuración en Putty que exponga el contenido de su búfer de una manera estándar de Windows que AHK podría luego seleccionar como Texto de ventana visible.

Alternativamente, supongo que puede haber alguna característica de AHK que no conozco y que puede recibir ese texto, pero eso parece menos probable.

Respuesta1

Leí un enfoque diferente: hacer que PuTTY escriba el contenido en un archivo de registro. Luego haga que AutoHotKey lea un archivo. Esto puede proporcionar la información relevante:

autoputty-scripted-telnet-necesita-ayuda

Aquí hay otro enfoque:

gist.github.com/serf/2710415

Implica seleccionar texto, que lo copia en el portapapeles y luego hacer que AutoHotKey lo lea desde el portapapeles. (También guarda una copia del portapapeles antes de golpearlo y restaura los datos del portapapeles respaldados).

buixuanlinh.com/blog/?p=80

muestra un ejemplo sencillo de cómo iniciar sesión con PuTTY.

AutoHotkey:_Launch_putty_or_RDP_sessions_via_a_tree-driven_selection_menu

No he probado ninguna de estas soluciones. Buena suerte.

Si tiene acceso al servidor, es posible que desee considerar hacer cosas en el lado del servidor. Por ejemplo, puede tener una clave SSH que solo permita al usuario ejecutar un comando (o el inicio de un comando, como "sudo mount" pero no "sudo cualquier otra cosa"); sudo también puede proporcionar restricciones sobre qué comando se utiliza. OpenSSH puede permitir que un solo usuario tenga varias claves. Por lo tanto, elegir qué clave usar, en el extremo local/cliente, podría afectar lo que sucede cuando se conecta al servidor. Los detalles, que probablemente serán útiles para cualquiera que desee explorar esta ruta, se pueden encontrar en:

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

Respuesta2

He realizado este tipo de proceso antes de usar el ImageSearchcomando: tome una captura de pantalla de un mensaje de inicio de sesión vacío y use ImageSearch para determinar si se ha llegado al mensaje. He descubierto que esto es relativamente confiable (aunque de ninguna manera perfecto): ¡puede funcionar para usted!

Para un sistema más confiable, probablemente necesite escribir un script que realice la interacción ssh por usted, por ejemplo pythoncon pexpect, que he usado con éxito. Las instrucciones sobre cómo hacerlo están fuera del alcance de esta pregunta, pero dependiendo de los lenguajes de programación con los que esté familiarizado (aparte de AutoHotKey), estoy seguro de que habrá una opción. No tengo experiencia en hacer este tipo de cosas perl, pero puede ser posible.

información relacionada