Присоединение запущенного консольного приложения к новому экземпляру ConEmu

у меня уже запущено консольное приложение под Windows XP. Я хочу прикрепить его к другому эмулятору консоли, например Console2 или ConEmu. Это возможно с ConEmu, и он работает, если я запускаю ConEmu, затем использую пункт меню" прикрепить к " и выберите мое консольное приложение в списке.

Я сейчас пытаюсь автоматизировать это. Я хочу иметь возможность сфокусировать окно консольного приложения, нажать клавишу и прикрепить его к новому экземпляр ConEmu. Я пытался написать AutoHotKey макрос для крепления в настоящее время сосредоточены консольное приложение, когда я нажмите программную клавишу Win+на, но я не могу понять, как использовать ConEmuC. Вот моя попытка:

#IfWinActive, ahk_class ConsoleWindowClass
#a::
  WinGet, app_pid, PID
  Run c:optConEmu-120704ConEmu.exe /detached, , , conemu_pid
  Run c:optConEmu-120704ConEmuConEmuC.exe /ATTACH /PID=%app_pid%
  Return

все я получаю следующее диалоговое окно ошибки:

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

c:optConEmu-120704ConEmuConEmuC.exe /ATTACH /PID=7104

тем не менее, если я использую пункт меню "присоединить к" в экземпляре ConEmu, консольное приложение присоединяется. Мне нужно поставить галочку "альтернативный режим" флажок введено в версии 120704, если это имеет значение.

как использовать ConEmuC (или любой другой метод) для присоединения существующего консольного приложения к новому экземпляру ConEmu? Еще лучше, как Прикрепить существующий экземпляр (если я хочу новый экземпляр, я могу просто создать его заранее)? И как мне указать альтернативный режим?

25
задан Community
26.11.2022 18:47 Количество просмотров материала 3418
Распечатать страницу

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. Построить 120705. Если вы хотите безоговорочно запустить новое окно ConEmu, вы можете добавить /GHWND=NEW to ConEmuC аргументов.

UPD 2. С другой стороны, может быть, вам не нужно делать Attach на всех? Есть терминал по умолчанию характеристика что позволяет запускать ConEmu автоматически "вместо" стандартного терминала windows при запуске любого консольного приложения.

6
отвечен Maximus 2022-11-28 02:35

Постоянная ссылка на данную страницу: [ Скопировать ссылку | Сгенерировать QR-код ]

Ваш ответ

Опубликуйте как Гость или авторизуйтесь

Имя
Вверх