2011-01-05 126 views
1

我在尝试创建多窗口控制台应用程序时遇到了一些问题。目前,我的应用程序的主控制台窗口用于收集用户输入和显示输出。从控制台应用程序创建单独的窗口

大部分输出来自单独的线程,因为有实时数据进来。我想知道是否有方法将我的应用程序分成两个窗口,第二个窗口是控制台窗口,甚至是任何窗口其他类型的窗口可以显示传入字符串的文本...特别是,主控制台窗口将是用户输入命令的位置等,第二个窗口显示系统当前正在处理的内容。这第二个窗口可以完全只读。

任何建议将不胜感激!我会张贴代码,但我真的没有什么相关的(我能想到的)发布....

+0

高时间开始使用Winforms或WPF进行播放。 – 2011-01-05 21:02:54

回答

2

这将是很难做到的。

这里是一个类似的问题的答案:Can you have multiple .net Consoles (as in Console.Writeline)

如果你真的想这样做,你可以在这里找到逻辑:http://www.codeproject.com/KB/cpp/MultipleConsoles.aspx

莫比更好的方法将是启动另一个进程(控制台应用程序)和交流它们之间通过IPC(进程间通信) - 就像命名管道一样。

更多关于IPC你可以找到:http://www.infoq.com/news/2008/01/wcf-comm-options

+0

我猜想我想知道的是,如果我可以用第二个窗口*不*作为控制台,并且如果有另一个选项(即某种类型的读取数据的WPF窗口等),则可以这样做。 – keynesiancross 2011-01-05 20:59:34

+0

编辑我的答案...你也可以支付其他选项 – HABJAN 2011-01-05 21:01:54

0

这可能是更容易只是弹出一个Windows窗体与包含要显示的数据文本框。您可以简单地启动一个新线程并调用Form.ShowDialog()来获取要显示的表单。

+0

如果我开始一个新的线程,是否需要另一个CPU ......(这可能会暴露我的无知......)。我目前已经在运行BackgroundWorker,那么与试图运行另一个线程的冲突呢? – keynesiancross 2011-01-05 21:09:08

相关问题