
Tengo una aplicación de consola ya iniciada, en Windows XP. Quiero adjuntarlo a un emulador de consola diferente, comoConsola2oConEmu. Esto esposible con ConEmu, y funciona si ejecuto ConEmu, luego uso la entrada del menú "Adjuntar a" y selecciono mi aplicación de consola en la lista.
Ahora estoy intentando automatizar esto. Quiero poder enfocar la ventana de la aplicación de la consola, presionar una tecla y adjuntarla a una nueva instancia de ConEmu. Intenté escribir unAutoHotKeymacro para adjuntar la aplicación de consola actualmente enfocada cuando presiono Win+ A, pero no puedo entender cómo usarla ConEmuC
. Aquí está mi intento:
#IfWinActive, ahk_class ConsoleWindowClass
#a::
WinGet, app_pid, PID
Run c:\opt\ConEmu-120704\ConEmu.exe /detached, , , conemu_pid
Run c:\opt\ConEmu-120704\ConEmu\ConEmuC.exe /ATTACH /PID=%app_pid%
Return
Todo lo que aparece es la siguiente ventana emergente de error:
Attach to GUI was requested, but there is no console processes! c:\opt\ConEmu-120704\ConEmu\ConEmuC.exe /ATTACH /PID=7104
Sin embargo, si uso la entrada del menú "Adjuntar a" en la instancia de ConEmu, la aplicación de la consola se adjunta. Necesito marcar la casilla de verificación "modo alternativo"introducido en la versión 120704, si eso es relevante.
¿Cómo uso ConEmuC
(o cualquier otro método) para adjuntar una aplicación de consola existente a una nueva instancia de ConEmu? Aún mejor, ¿cómo adjunto una instancia existente (si quiero una instancia nueva, puedo crearla de antemano)? ¿Y cómo especifico el modo alternativo?
Respuesta1
Prueba lo siguiente
#IfWinActive, ahk_class ConsoleWindowClass
#a::
WinGet, app_pid, PID
Run c:\opt\ConEmu-120704\ConEmu\ConEmuC.exe /ATTACH /CONPID=%app_pid%
Return
Modo alternativo: /ATTACH /CONPID=<pid>
.
Empezar ConEmu.exe /detached
es innecesario. La GUI se iniciará automáticamente si no se encuentra.
UPD. Compilación 120705. Si desea iniciar incondicionalmente una nueva ventana de ConEmu, puede agregar /GHWND=NEW
argumentos ConEmuC
.
UPD 2. Por otro lado, ¿puede ser que no necesites hacer Attach
nada? HayTerminal predeterminadocaracterística que le permite ejecutar ConEmu automáticamente "en lugar" del terminal estándar de Windows cuando ejecuta cualquier aplicación de consola.