Files
NapCatQQ/.pnpm-store/v3/files/61/71004caa8541ab12ed98e1c892dbbd73c002d40a7864e5de5a269af815832fd2f1e9f80af81fe7f687babf352d2687f15f5e8fc916a9e366eb3dd6c6d8fd96
T
TanTan e311ca3275
Build NapCat Artifacts / Type Check & Test (push) Waiting to run
docs: 仓库链接指向本镜像仓库
2026-11-13 09:25:58 +08:00

57 lines
1.2 KiB
Plaintext

/*
* Sending VK_PAUSE to the console window almost works as a mechanism for
* pausing it, but it doesn't because the console could turn off the
* ENABLE_LINE_INPUT console mode flag.
*/
#define _WIN32_WINNT 0x0501
#include <stdio.h>
#include <stdlib.h>
#include <windows.h>
CALLBACK DWORD pausingThread(LPVOID dummy)
{
if (1) {
Sleep(1000);
HWND hwnd = GetConsoleWindow();
SendMessage(hwnd, WM_KEYDOWN, VK_PAUSE, 1);
Sleep(1000);
SendMessage(hwnd, WM_KEYDOWN, VK_ESCAPE, 1);
}
if (0) {
INPUT_RECORD ir;
memset(&ir, 0, sizeof(ir));
ir.EventType = KEY_EVENT;
ir.Event.KeyEvent.bKeyDown = TRUE;
ir.Event.KeyEvent.wVirtualKeyCode = VK_PAUSE;
ir.Event.KeyEvent.wRepeatCount = 1;
}
return 0;
}
int main()
{
HANDLE hin = GetStdHandle(STD_INPUT_HANDLE);
HANDLE h = GetStdHandle(STD_OUTPUT_HANDLE);
COORD c = { 0, 0 };
DWORD mode;
GetConsoleMode(hin, &mode);
SetConsoleMode(hin, mode &
~(ENABLE_LINE_INPUT));
CreateThread(NULL, 0,
pausingThread, NULL,
0, NULL);
int i = 0;
while (true) {
Sleep(100);
printf("%d\n", ++i);
}
return 0;
}