2013-04-29 76 views
0

有没有办法在WinForm项目中写入控制台?WindowsForm上的Console.Writeline?

我知道我可以将项目类型更改为控制台并且仍然是WinForm,但是如果我从CMD启动我的程序,则CMD的执行会停止,直到程序退出,如果启动我的应用程序,则不会发生这种情况从控制台作为一个WinForms但我不能写入到控制台...

所以,问题是:

如何写在控制台上的WinForms或如何不停止执行当我的应用程序从CMD启动时(为了避免在我的应用程序中使用CMD上的“开始/ B”),CMD需要使用CMD。

回答

3

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

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

不过请注意,如果你从cmd启动你的程序,你会得到另一个控制台窗口,为您的程序和重复使用的父控制台是不可能的。但是,无论如何,我的理解是你的目标。

+0

Thankyou的信息,但我期待在同一个CMD实例上做它,你知道这是否有可能吗?,反正我测试过这个函数,新的cmd实例等待我的程序退出:( – ElektroStudios 2013-04-29 04:45:44

+0

@ElektroHacker - [AttachConsole](http://msdn.microsoft.com/en-us/library/windows/desktop/ms681952(v = vs.85).aspx)就在AllocConsole旁边...但我假设你正在寻找别的东西。 – 2013-04-29 04:54:16