2009-06-07 12 views
2

私はcmdの "シェル"をフォームに埋め込む方法を探しています。私は、Powershellウィンドウ(タブなし)やcmd(no nothing)よりも優れたターミナルとして機能するC#ベースのアプリケーションを構築したいと考えています。バックエンドでこれらのインタプリタを起動するだけです。Windows Terminal - 組み込むWindowsフォーム

私はMSがこれをやっているとは思わなかったと思います。任意のアイデアwhat私が使用できる要素からですか?あなたが行っている簡単な作業ではありません

おかげで、 のI/O

答えて

2

。基本的にコンソールウィンドウのスクリーンバッファをポーリングし、それ自身で表示する1つのプロジェクト(Console2)を知っています。あなたは確かに、(a)キーボードイベントを得ることに依存し、(b)スクリーンバッファを操作することに依存するので、Farなどのインタラクティブなアプリケーションに対処するのは難しいでしょう。コンソールウィンドウの機能の周りに適切なラッパーが必要な場合は、どちらも厄介なことです。マウス入力も可能です(クイック編集モードが有効になっていない場合)。

私はこのための既製のコントロールを使用することはできません。基本的には、それぞれが前景色と背景色を持つセルのグリッドを表示する必要があります。あなたはおそらくこれのためにRichTextBoxを使用することができますが、私は理想から遠いと思います。

また、私はMSの誰もこれを考えなかったと思います。新しい機能のための限られた予算があり、それらのすべてが特定され、実装され、テストされ、そこにある何百万ものアプリケーションを使って回帰テストされる必要があるだけです。それは高価なものですテスターとしてあなたの顧客を誤用する、彼らはそうではありません)。

+0

[スーパーユーザー:エクスプローラまたはエクスプローラのようなツールにPowerShellを埋め込む方法?](http://superuser.com/a/441531/139371) – Maximus

0

これは、TextBoxクラスを拡張してロジックを追加して、コンソール(KeyPressed/KeyUp/KeyDownイベントなどに応答する)のように動作するようにするのが最も簡単です。また、コンソールが応答する必要のあるイベントのイベントを追加することもできます。たとえば、CommandEnteredイベントを追加します。

新しいコンソールをTextBoxに基づいて作成すると、テキストボックスの編集と表示の機能が「無料」になりますので、再インストールする必要はありません。

0

リッチテキストボックスを使用して、背景を黒に、前景を白に設定できます。テキストボックスの代わりにRTBを使用して、大量のデータを処理します。 しかし、端末をシミュレートするためには非常に多くのコードを書く必要があります。

関連する問題