-3
我想打開窗體窗體應用程序內的控制檯,以便我可以調整事情的道路上,我目前正在使用的遊戲引擎。不幸的是,由於某種原因,我不能讓控制檯使用此代碼打開:在窗體窗體應用程序控制臺
private void GameWind_Load(object sender, EventArgs e)
{
AllocConsole();
}
//allows the game console to be seen during execution
[DllImport("kernel32.dll", SetLastError = true)]
[return: MarshalAsAttribute(UnmanagedType.Bool)]
static extern bool AllocConsole();
道歉,在保持我的評論,但無論我做什麼,我根本無法得到這個工作。我至少重複了5次,試圖找到一個錯字,我甚至嘗試了一些調出控制檯的其他方法,到目前爲止沒有任何工作。我覺得我錯過了一些東西,但我根本無法把它放在手上。如果任何人都可以找到我的代碼有問題,請告訴我。
你還沒有解釋你在發佈的代碼中遇到的問題。 *我無法打開控制檯*沒有用,而iehter是*迄今爲止沒有任何作品*。它以什麼方式*不工作*?什麼**特別**我們可以幫你在這裏? (而且,作爲一個幾乎牢不可破的規則,你必須在使用它們之前聲明函數**,而不是之後。你試過看[PInvoke](http://pinvoke.com)嗎?) –
另外,你有沒有嘗試閱讀[AllocConsole文檔](https://msdn.microsoft.com/en-us/library/windows/desktop/ms681944(v = vs.85).aspx),它解釋如果函數失敗(返回0 ),你可以使用GetLastError來找出原因?並且該AllocConsole不會返回'bool',而是一個控制檯的句柄,然後您可以使用該句柄與該控制檯進一步交互?首先查看[控制檯](https://msdn.microsoft.com/en-us/library/windows/desktop/ms682055(v = vs.85).aspx)可能會更好。 –
我沒有看到你的代碼有什麼問題。你是否檢查'AllocConsole'的返回值並調用'Marshal.GetLastWin32Error'來查看問題是什麼?我編寫了一系列有關使用C#中的控制檯API的文章。不幸的是,這些文章不再在線提供,但您可以從我的網站下載完整的源代碼。 http://www.mischel.com/pubs/consoledotnet.zip。你要找的是JConsole.cs和WinCon.cs文件。請注意,解決方案和項目文件非常陳舊,但是如果將代碼包含在新解決方案中,代碼仍會編譯。 –