#include #include static DWORD last_input_time = 0; // Store the last input time in milliseconds HHOOK hKeyboardHook; LRESULT CALLBACK KeyboardHookProc(int nCode, WPARAM wParam, LPARAM lParam) { if (nCode == HC_ACTION) { last_input_time = GetTickCount(); } return CallNextHookEx(hKeyboardHook, nCode, wParam, lParam); } __declspec(dllexport) void start_hook(void) { hKeyboardHook = SetWindowsHookEx(WH_KEYBOARD_LL, KeyboardHookProc, NULL, 0); } __declspec(dllexport) void stop_hook(void) { UnhookWindowsHookEx(hKeyboardHook); } __declspec(dllexport) int last_time_input_received(void) { return last_input_time; }