2013-04-29 112 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