ReadConsole()
Win32コンソールアプリケーションの最後でキーが押されるのを待つためにWINAPIを使用しようとしています。
CONSOLE_READCONSOLE_CONTROL tControl;
char pStr[65536];
DWORD dwBufLen = 1;
DWORD dwCtl;
tControl_c.nLength = sizeof( CONSOLE_READCONSOLE_CONTROL );
tControl_c.nInitialChars = 0;
tControl_c.dwControlKeyState = 0;
tControl_c.dwCtrlWakeupMask = NULL;
pBuf[0] = 0x00;
do
{
ReadConsole( hConsole_c, pStr, (*pBufLen) * sizeof(TCHAR), pBufLen, &tControl );
}
while ( pStr[0] == 0x00 );
コードは例外をスローせずに実行されます。ただし、ReadConsole()
関数が実行されると、エラーコードERROR_INVALID_HANDLE
(0x06)にフラグが付けられます。hConsole_c
有効なハンドルであることを確認しました。誰かが私が間違っていることについて何か洞察を持っていますか?Visual C ++ 2008ExpressEditionを使用しています。ありがとう。