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

Gil*_*il' 11 console windows-xp console2

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

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

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

编辑:所以我所追求的是CSRSS 替换,这导致

OT:我想知道微软什么时候会做出一个像样的 CSRSS 替代品。无法通过调整窗口大小来调整“终端”的宽度是一个彻头彻尾的笑话。

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

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

Max*_*mus 9

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

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

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

    ConEmuC.exe /ATTACH /NOCMD
    
    Run Code Online (Sandbox Code Playgroud)
  • 还有一种方法。我认为它不符合您的要求,但是我会披露它。注册表中有一个键,内容cmd/tcc在控制台启动后执行。当你开始的时候consoleapp.exe,不是cmd.exe,这个想念。有Cmd_Autorun.cmd文件ConEmu DISTRIB安装/卸载该命令。

    [HKEY_CURRENT_USER\Software\Microsoft\Command Processor]
    "AutoRun"="\"<Command to be executed>\"" 
    
    Run Code Online (Sandbox Code Playgroud)

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

更新。版本 120704。控制台窗口的替代非侵入式附加模式。

ConEmu 附加外部控制台对话框

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


use*_*686 1

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

  • Windows 7 的控制台窗口实现已从“csrss”移至“conhost.exe”。遗憾的是,它仍然是相同的旧 UI,而且据我所知,它的 API 没有文档记录。更多信息请访问http://blogs.technet.com/b/askperf/archive/2009/10/05/windows-7-windows-server-2008-r2-console-host.aspx (2认同)

归档时间:

查看次数:

3603 次

最近记录:

7 年,4 月 前