#define _WIN32_WINNT 0x0501 #include "../shared/DebugClient.cc" #include #include const int SC_CONSOLE_MARK = 0xFFF2; CALLBACK DWORD writerThread(void*) { while (true) { Sleep(1000); trace("writing"); printf("X\n"); trace("written"); } } int main() { CreateThread(NULL, 0, writerThread, NULL, 0, NULL); trace("marking console"); HWND hwnd = GetConsoleWindow(); PostMessage(hwnd, WM_SYSCOMMAND, SC_CONSOLE_MARK, 0); Sleep(2000); trace("reading output"); CHAR_INFO buf[1]; COORD bufSize = { 1, 1 }; COORD zeroCoord = { 0, 0 }; SMALL_RECT readRect = { 0, 0, 0, 0 }; ReadConsoleOutput(GetStdHandle(STD_OUTPUT_HANDLE), buf, bufSize, zeroCoord, &readRect); trace("done reading output"); Sleep(2000); PostMessage(hwnd, WM_CHAR, 27, 0x00010001); Sleep(1100); return 0; }