실행 중인 콘솔 애플리케이션을 새 ConEmu 인스턴스에 연결

실행 중인 콘솔 애플리케이션을 새 ConEmu 인스턴스에 연결

Windows XP에서 이미 시작된 콘솔 응용 프로그램이 있습니다. 다음과 같은 다른 콘솔 에뮬레이터에 연결하고 싶습니다.콘솔2또는콘에뮤. 이것은ConEmu로 가능, ConEmu를 실행한 다음 "연결 대상" 메뉴 항목을 사용하고 목록에서 내 콘솔 응용 프로그램을 선택하면 작동합니다.

지금은 이것을 자동화하려고합니다. 콘솔 응용 프로그램 창에 초점을 맞추고 키를 눌러 ConEmu의 새 인스턴스에 연결할 수 있기를 원합니다. 나는 글을 쓰려고 노력했다.오토핫키Win+ 를 눌렀을 때 현재 초점을 맞춘 콘솔 응용 프로그램을 첨부하는 매크로를 A사용하는 방법을 알 수 없습니다 ConEmuC. 내 시도는 다음과 같습니다.

#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

다음과 같은 오류 팝업이 나타납니다.

Attach to GUI was requested, but there is no console processes!

c:\opt\ConEmu-120704\ConEmu\ConEmuC.exe /ATTACH /PID=7104

그러나 ConEmu 인스턴스에서 "연결 대상" 메뉴 항목을 사용하면 콘솔 응용 프로그램이 연결됩니다. "대체 모드" 확인란을 선택해야 합니다.버전 120704에 도입됨, 해당되는 경우.

ConEmuC기존 콘솔 애플리케이션을 새 ConEmu 인스턴스에 연결하려면 어떻게(또는 다른 방법) 사용합니까 ? 더 좋은 점은 기존 인스턴스를 어떻게 연결하나요? (새 인스턴스를 원할 경우 미리 생성하면 됩니다.) 대체 모드를 어떻게 지정합니까?

답변1

다음을 시도해 보세요

#IfWinActive, ahk_class ConsoleWindowClass
#a::
  WinGet, app_pid, PID
  Run c:\opt\ConEmu-120704\ConEmu\ConEmuC.exe /ATTACH /CONPID=%app_pid%
  Return

대체 모드: /ATTACH /CONPID=<pid>.

시작은 ConEmu.exe /detached불필요합니다. GUI가 없으면 자동으로 시작됩니다.

UPD. Build 120705. 무조건 새 ConEmu 창을 시작하려면 인수를 추가하면 /GHWND=NEW됩니다 ConEmuC.

UPD 2. 반면에 Attach전혀 할 필요가 없을 수도 있습니까? 있다기본 터미널콘솔 응용 프로그램을 실행할 때 표준 Windows 터미널 대신 ConEmu를 자동으로 실행할 수 있는 기능입니다.

관련 정보