2 * Sending VK_PAUSE to the console window almost works as a mechanism for
3 * pausing it, but it doesn't because the console could turn off the
4 * ENABLE_LINE_INPUT console mode flag.
7 #define _WIN32_WINNT 0x0501
12 CALLBACK DWORD pausingThread(LPVOID dummy)
16 HWND hwnd = GetConsoleWindow();
17 SendMessage(hwnd, WM_KEYDOWN, VK_PAUSE, 1);
19 SendMessage(hwnd, WM_KEYDOWN, VK_ESCAPE, 1);
24 memset(&ir, 0, sizeof(ir));
25 ir.EventType = KEY_EVENT;
26 ir.Event.KeyEvent.bKeyDown = TRUE;
27 ir.Event.KeyEvent.wVirtualKeyCode = VK_PAUSE;
28 ir.Event.KeyEvent.wRepeatCount = 1;
36 HANDLE hin = GetStdHandle(STD_INPUT_HANDLE);
37 HANDLE h = GetStdHandle(STD_OUTPUT_HANDLE);
41 GetConsoleMode(hin, &mode);
42 SetConsoleMode(hin, mode &
43 ~(ENABLE_LINE_INPUT));