
Eu tenho um aplicativo de console já iniciado, no Windows XP. Quero anexá-lo a um emulador de console diferente, comoConsole2ouConEmu. Isso épossível com ConEmu, e funciona se eu executar o ConEmu, usar a entrada de menu "Anexar a" e selecionar meu aplicativo de console na lista.
Agora estou tentando automatizar isso. Quero poder focar a janela do aplicativo de console, pressionar uma tecla e anexá-la a uma nova instância do ConEmu. Eu tentei escrever umAutoHotKeymacro para anexar o aplicativo de console atualmente em foco quando pressiono Win+ A, mas não consigo descobrir como usá-lo ConEmuC
. Aqui está minha tentativa:
#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
Tudo o que recebo é o seguinte pop-up de erro:
Attach to GUI was requested, but there is no console processes! c:\opt\ConEmu-120704\ConEmu\ConEmuC.exe /ATTACH /PID=7104
No entanto, se eu usar a entrada de menu “Anexar a” na instância do ConEmu, o aplicativo de console será anexado. Preciso marcar a caixa de seleção “modo alternativo”introduzido na versão 120704, se isso for relevante.
Como uso ConEmuC
(ou qualquer outro método) para anexar um aplicativo de console existente a uma nova instância do ConEmu? Melhor ainda, como faço para anexar uma instância existente (se eu quiser uma nova instância, posso simplesmente criá-la com antecedência)? E como especifico o modo alternativo?
Responder1
Tente o seguinte
#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>
.
Começar ConEmu.exe /detached
é desnecessário. A GUI será iniciada automaticamente, se não for encontrada.
Atualização. Build 120705. Se você deseja iniciar incondicionalmente uma nova janela do ConEmu, você pode adicionar /GHWND=NEW
argumentos ConEmuC
.
atualização 2. Por outro lado, pode ser que você não precise fazer Attach
nada? HáTerminal padrãorecurso que permite executar o ConEmu automaticamente "em vez" do terminal padrão do Windows ao executar qualquer aplicativo de console.