¿Cómo puedo reemplazar el programa predeterminado que proporciona ventanas de consola en Windows XP?
Sé de programas alternativos , y tengo un atajo para comenzar cmd.exe
en Console2 . Pero ahora quiero que las aplicaciones de consola se inicien en Console2 en lugar del programa de consola predeterminado, incluso cuando no tengo control sobre el programa que inicia la aplicación de consola. (Es decir consoleapp.exe
, se inicia un programa que no es de consola , y no puedo cambiarlo para iniciar Console2, pero todavía quiero que la aplicación se inicie dentro de una nueva instancia de Console2).
(Tenga en cuenta que quiero reemplazar la consola en sí, es decir, la ventana en la que se ejecutan las aplicaciones de la consola (es decir, el modo de texto). Y debo poder ejecutar aplicaciones de consola arbitrarias y no modificadas: un sustituto de un programa de consola específico como Cmd no me hará ningún bien.)
EDITAR : Entonces, lo que busco es un reemplazo CSRSS , lo que conduce a
OT: Quiero saber cuándo Microsoft va a hacer un reemplazo CSRSS decente. No poder ajustar el ancho de un "terminal" cambiando el tamaño de la ventana es una broma completa.
Ve a descargar el ISE ya. (Está incluido en Win7 / 2008R2.)
Pero hasta donde yo entiendo, este ISE es un entorno para Powershell , no un emulador de consola general.
fuente
Respuestas:
Soy autor de ConEmu - Emulador de consola de Windows. Una de sus características es capturar en su pestaña las consolas existentes o las aplicaciones GUI simples. Entonces, después de iniciar el programa de consola en la consola estándar (CSRSS / ConHost), puede:
En el menú del sistema ConEmu, elija el elemento "Adjuntar ..." ( Win+ Gpor defecto) y elija adjuntar ventana. Si no se inició ConEmu, puede iniciarlo opcionalmente sin crear una consola / pestaña al inicio:
O, si corresponde, ejecute en la consola iniciada el siguiente comando (ConEmu \ Attach.cmd) que inicia la conexión desde el lado de la consola. Tenga en cuenta que, en ese caso, ConEmu.exe (GUI) se iniciará automáticamente, si aún no existe.
Hay un camino mas. Creo que no cumple con sus requisitos, sin embargo, lo divulgaré. Hay una clave en el registro, cuyo contenido se ejecuta cmd / tcc después del inicio de la consola. Mientras comienzas
consoleapp.exe
, nocmd.exe
, esta señorita. Hay unCmd_Autorun.cmd
archivo en ConEmu distrib para instalar / desinstalar este comando.Hay una etiqueta aquí, en Superuser.com
UPD . Compilación 120704. Modo de conexión alternativo no intrusivo para ventanas de consola.
UPD2 . Compilación 121128. Es posible interceptar la "creación de la ventana de la consola" desde aplicaciones especificadas (por el usuario), por ejemplo
explorer.exe,vcexpress.exe
. Lea más sobre esta característica experimental intrusiva .fuente
consoleapp.exe
, recibo el mensajeConEmuC.X, PID=5656 Injecting remote into PID=5432 FAILED, code=-111:0x00000057
. Comoconsoleapp.exe
es un programa que estoy depurando, ver "inyectar a distancia" me hace sospechar que la técnica utilizada por ConEmu nunca funcionará para mí, no puedo permitir que programas "extranjeros" perturben el programa que estoy depurando.sh
directamente; 2. Debería permitir dividir la ventana en múltiples pestañas verticales / horizontales y recupere esta disposición de pestañas personalizadas al reiniciar.No puedes Las consolas Win32 siempre usan las ventanas de consola integradas proporcionadas por CSRSS.
fuente
csrss
dentroconhost.exe
. Lamentablemente, sigue siendo la misma interfaz de usuario anterior, y que yo sepa, sus API no están documentadas. Más en blogs.technet.com/b/askperf/archive/2009/10/05/…