0
私はコンソールゲームを持っており、マウス入力を無効にしたい。 thisページからコードを取得しましたが、GetConsoleMode関数を実行しようとするとエラーコード6(「無効なハンドル」の略)で失敗します。C#コンソールアプリケーションGetConsoleModeエラーコード6
私の質問:なぜGetConsoleWindow()メソッドが無効なコンソールハンドルを返しますか?ここで
私のソースコード:
private static void DisableMouseInput()
{
IntPtr consoleHandle = GetConsoleWindow();
uint consoleMode;
Console.WriteLine(Marshal.GetLastWin32Error()); // get current console mode
if (!GetConsoleMode(consoleHandle, out consoleMode))
{
// Error: Unable to get console mode.
Console.WriteLine(Marshal.GetLastWin32Error());
throw new Exception();
return;
}
// Clear the mouse input bit in the mode flags
consoleMode = consoleMode & 0xffbf; //0xffef = ~0x0040 = ~ENABLE_QUICK_EDIT
// set the new mode
if (!SetConsoleMode(consoleHandle, consoleMode))
{
// ERROR: Unable to set console mode
}
}
ありがとうございました。 Thx – Kippi