Windows窗体上的Console.Writeline?

时间:2013-04-29 04:31:36

标签: c# vb.net command-line cmd

有没有办法在WinForm项目中写入控制台?

我知道我可以将项目类型更改为控制台并且仍然是WinForm,但是如果我从CMD启动我的程序,CMD的执行将停止,直到我的程序退出,如果我从我的程序启动我的应用程序控制台作为Winforms,但我无法写入控制台......

所以问题是:

如何在WinForms上写入控制台或如何在从CMD启动我的应用程序时停止执行CMD(以避免在CMD上为我的应用程序使用“Start / B”)。 / p>

1 个答案:

答案 0 :(得分:3)

您可以使用AllocConsole将流程附加到新控制台。之后Console.WriteLine应按预期工作。该函数的P / Invoke签名是

[DllImport("kernel32")]
static extern bool AllocConsole();

但请注意,如果从cmd启动程序,您将获得程序的另一个控制台窗口,并且无法重新使用父控制台。但我怎么理解你,无论如何都是你的目标。