Windowsフォームアプリケーション内でコンソールを開こうとしているので、現在作業中のゲームエンジンで後でデバッグすることができます。で、私のコメントを維持する上でWindows上のコンソールフォームアプリケーション
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回タイプミスを見つけようとしましたが、コンソールを起動するためのいくつかの方法を試しましたが、これまで何も動作していません。私は何かが欠けているように感じるが、私は単にそれに私の指を置くことはできません。誰かが自分のコードで何が間違っているのかを知ることができたら、教えてください。
投稿したコードで問題が説明されていません。 *私はコンソールを開くことができません*有用ではない、とishterは*これまで何も動作*です。どのようにして*働かないのですか? **具体的に何が**ここでお手伝いできますか? (そして、ほとんど解読不可能なルールとして、**あなたがそれらを使用する前に関数**を宣言しなくてはなりません。[PInvoke](http://pinvoke.com)を見てみましたか?) –
また、 [AllocConsole docs](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ファイルです。ソリューションとプロジェクトファイルは非常に古いものですが、コードを新しいソリューションに含めるとコードはコンパイルされることに注意してください。 –