2011-01-05 7 views
1

マルチウィンドウコンソールアプリケーションを作成しようとすると少し問題があります。現在、私のアプリケーションのメインコンソールウィンドウは、ユーザー入力と表示出力を収集するために使用されます。コンソールアプリケーションとは別のウィンドウを作成

ライブデータが入ってくるので、この出力の多くは別のスレッドから来ています。アプリケーションを2つのウィンドウに分ける方法があるのだろうかと思っていました.2つ目のウィンドウはコンソールウィンドウでも、入ってくる文字列のテキストを表示することができる他の種類のウィンドウ...特に、メインコンソールウィンドウは、ユーザーがコマンドを入力する場所であり、第2のウィンドウは、システムが現在作業しているものを表示します。この第2のウィンドウは、完全に読み込み専用であってもよい。

ご意見をいただければ幸いです!私はコードを投稿しますが、投稿するのに関連するものはありません。

+0

WinformsまたはWPFで再生を開始するまでに時間がかかります。 –

答えて

2

これは難しいでしょう。ここで

は、同様の質問に対する答えです:Can you have multiple .net Consoles (as in Console.Writeline)

あなたが本当にそれをしたい場合は、あなたがここにロジックを見つけることができます。http://www.codeproject.com/KB/cpp/MultipleConsoles.aspx

Mabyより良いアプローチは別のプロセス(コンソールアプリケーション)を起動して通信することになります名前付きパイプのようなIPC(プロセス間通信)を介してそれらの間。 IPCについて

より多くのあなたは見つけることができます:http://www.infoq.com/news/2008/01/wcf-comm-options

+0

私は2番目のウィンドウでこれを行うことができますか?コンソールではなく、別のオプション(つまり、データを読み込むWPFウィンドウなど)がある場合は – keynesiancross

+0

です。私の答えを編集しました...あなたも他のオプションを利用することができます – HABJAN

0

をそれだけでポップアップするWindowsフォームを使用すると、表示したいデータを含むテキストボックスで、おそらく簡単です。単に新しいスレッドを開始し、Form.ShowDialog()を呼び出して表示するフォームを取得することができます。

+0

私は新しいスレッドを開始しても、それは別のCPUを必要とします...(これは私の無知を露呈するかもしれません...)。私は現在、すでにBackgroundWorkerを実行していますので、別のスレッドを実行しようとすると競合しますか? – keynesiancross

関連する問題