【问题标题】:Open a new console with every new Thread in C#?用 C# 中的每个新线程打开一个新控制台?
【发布时间】:2011-12-22 20:29:27
【问题描述】:

我希望在创建新线程时打开一个新控制台,以便组织输出。我的应用程序完全基于控制台。如果可以的话,这可能吗?

问候!

【问题讨论】:

  • 打开一个新的控制台,启动时传给线程?
  • 一个进程可以有多个控制台吗?
  • 我认为您可能必须创建一个带有文本框的标准窗口并将输出定向到那里。我有一种感觉,进程只有一个控制台。不确定 .net 中的情况是否有所不同,但这是 Win32 中的游戏状态。
  • @DavidHeffernan:你是对的。我查看了Console class,希望看到Console.Create 方法,但没有。
  • 就我而言,每个线程都有多个控制台,我只想要一个。

标签: c# multithreading console console-application


【解决方案1】:

解决这个限制并不难。

您想作为单独的线程运行并带有自己的控制台窗口的代码,只需将其编码为单独的控制台应用程序,并根据命令行的要求传递参数。

然后在主应用程序中使用 Start() 运行此代码的单独实例。

【讨论】:

    【解决方案2】:

    A process can be associated with only one console

    http://msdn.microsoft.com/en-us/library/windows/desktop/ms681944(v=vs.85).aspx

    【讨论】:

    • 也就是说他必须创建多个进程,每个进程都有一个线程?
    • @DaeMoohn 不,这意味着他不能在单个应用程序中创建多个控制台。
    • 这是一个有趣的限制。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-10-23
    • 1970-01-01
    • 2012-07-27
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多