ReadConsole is failing with error code 6, ERROR_INVALID_HANDLE, but I can print to the console fine :/Code:HANDLE c; c = CreateConsoleScreenBuffer(GENERIC_READ | GENERIC_WRITE, FILE_SHARE_READ, NULL, CONSOLE_TEXTMODE_BUFFER, NULL); SetConsoleActiveScreenBuffer(c); .. ReadConsole(c, gpb, 1, (DWORD *)tmp, NULL) ..