替换 Windows XP 下的默认控制台模拟器

替换 Windows XP 下的默认控制台模拟器

如何替换Windows XP下提供控制台窗口的默认程序?

我知道替代方案,我有一个快捷方式可以cmd.exe启动控制台2。但现在我希望控制台应用程序在 Console2 中启动,而不是在默认控制台程序中启动,即使我无法控制启动控制台应用程序的程序。(即非控制台程序启动consoleapp.exe,我无法将其更改为启动 Console2,但我仍然希望应用程序在 Console2 的新实例中启动。)

(请注意,我想替换安慰本身,即控制台(即文本模式)应用程序运行的窗口。而且我必须能够运行任意的、未经修改的控制台应用程序:替代特定的控制台程序(例如 Cmd)对我没有任何好处。)

编辑:所以我想要的是CSRSS 替换, 哪个导致

OT:我想知道微软什么时候会推出像样的 CSRSS 替代品。不能通过调整窗口大小来调整“终端”的宽度简直是笑话。

去下载 ISE 吧。(它包含在 Win7/2008R2 中。)

但据我所知,这个 ISE 是一个Powershell 环境,并不是通用的控制台模拟器。

答案1

我是康埃穆- Windows 控制台模拟器。其功能之一是将现有控制台或简单的 GUI 应用程序捕获到其选项卡中。因此,在标准控制台 (CSRSS/ConHost) 中启动控制台程序后,您可以:

  • 在 ConEmu 系统菜单中,选择“附加...”项(默认为Win+ G),然后选择附加窗口。如果 ConEmu 未启动,您可以选择在启动时不创建控制台/选项卡的情况下启动它:

    C:\Tools\ConEmu.exe /detached
    
  • 或者,如果适用,在启动的控制台中运行以下命令 (ConEmu\Attach.cmd),该命令将从控制台端启动连接。请注意,在这种情况下,如果尚不存在,ConEmu.exe (GUI) 将自动启动。

    ConEmuC.exe /ATTACH /NOCMD
    
  • 还有一种方法。我认为它不符合您的要求,但我会透露它。注册表中有一个键,其中包含控制台启动后 cmd/tcc 执行的内容。当您启动时consoleapp.exe,而不是cmd.exe,这会丢失。ConEmu distrib 中有Cmd_Autorun.cmd文件可以安装/卸载此命令。

    [HKEY_CURRENT_USER\Software\Microsoft\Command Processor]
    "AutoRun"="\"<Command to be executed>\"" 
    

有一个标签这里,在 Superuser.com

更新型多巴胺. 构建 120704。控制台窗口的替代非侵入连接模式。

ConEmu 附加外部控制台对话框

UPD2. 版本 121128。可以拦截来自指定(由用户)应用程序的“控制台窗口创建”,例如explorer.exe,vcexpress.exe。阅读有关此侵入性的更多信息实验性功能

答案2

你不能。Win32 控制台始终使用 CSRSS 提供的内置控制台窗口。

相关内容