27 lines
657 B
C
27 lines
657 B
C
|
#include <time.h>
|
||
|
#include <windows.h>
|
||
|
|
||
|
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;
|
||
|
}
|