web-dev-qa-db-ja.com

Windowsでのデフォルトのコンソールエミュレータの置き換えXP

Windows XPでコンソールウィンドウを提供するデフォルトのプログラムを置き換えるにはどうすればよいですか?

代替プログラム を知っており、 Console2cmd.exeを開始するショートカットがあります。しかし、コンソールアプリケーションを起動するプログラムを制御できない場合でも、コンソールアプリケーションをデフォルトのコンソールプログラムではなくConsole2で起動するようにしたいと思います。 (つまり、非コンソールプログラムはconsoleapp.exeを起動し、代わりにConsole2を起動するように変更することはできませんが、Console2の新しいインスタンス内でアプリケーションを起動したいのです。)

console自体、つまりコンソール(つまりテキストモード)アプリケーションが実行されるウィンドウを置き換えたいことに注意してください。また、任意の変更されていないコンソールを実行できる必要があります。アプリケーション:Cmdなどの特定のコンソールプログラムの代わりには何の役にも立ちません。)

[〜#〜] edit [〜#〜]:つまり、私が求めているのは CSRSS置換 、つまり- につながる

OT:マイクロソフトがいつまともなCSRSSの代替品を作るのか知りたいです。ウィンドウのサイズを変更して「端末」の幅を調整できないのは、まったくの冗談です。

すでにISEをダウンロードしてください。 (Win7/2008R2に含まれています。)

しかし、私が理解している限り、このISEは Powershellの環境 であり、一般的なコンソールエミュレーターではありません。

私は ConEm --Windowsコンソールエミュレーターの作者です。その機能の1つは、既存のコンソールまたは単純なGUIアプリケーションをタブにキャプチャすることです。したがって、標準コンソール(CSRSS/ConHost)でコンソールプログラムを起動した後、次のことができます。

  • ConEmuシステムメニューで、「添付...」項目を選択します(Win+G デフォルトで)、ウィンドウの添付を選択します。 ConEmuが起動されていない場合は、オプションで、起動時にコンソール/タブを作成せずに起動できます。

    C:\Tools\ConEmu.exe /detached
    
  • または、該当する場合は、起動したコンソールで次のコマンド(ConEmu\Attach.cmd)を実行して、コンソール側から接続を開始します。その場合、ConEmu.exe(GUI)がまだ存在しない場合は、自動的に開始されることに注意してください。

    ConEmuC.exe /ATTACH /NOCMD
    
  • もう1つの方法があります。あなたの要件に合わないと思いますが、開示します。レジストリにはキーがあり、コンソールの起動後にcmd/tccの内容が実行されます。 consoleapp.exeではなくcmd.exeを開始している間、これは失敗します。このコマンドをインストール/アンインストールするためのCmd_Autorun.cmdファイルがConEmuディストリビューションにあります。

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

ここ、Superuser.comに タグ があります

[〜#〜] upd [〜#〜]。ビルド120704。コンソールウィンドウ用の代替の非侵入型接続モード。

ConEmu attach external console dialog

UPD2。ビルド121128。指定された(ユーザーによる)アプリケーションからの「コンソールウィンドウの作成」を傍受することができます(例:Explorer.exe,vcexpress.exe)。この煩わしい 実験的機能 についてもっと読む。

9
Maximus

できません。 Win32コンソール 常にCSRSSが提供する組み込みのコンソールウィンドウを使用します。

1
user1686