auto-obs-rb-restart/monitor.c

30 lines
675 B
C
Raw Normal View History

2024-10-07 20:23:21 +02:00
#include <time.h>
#include <windows.h>
2024-10-07 22:14:33 +02:00
static long long last_input_time = 0;
2024-10-07 20:23:21 +02:00
2024-10-07 22:14:33 +02:00
HHOOK hKeyboardHook = NULL;
2024-10-07 20:23:21 +02:00
LRESULT CALLBACK KeyboardHookProc(int nCode, WPARAM wParam, LPARAM lParam) {
if (nCode == HC_ACTION) {
2024-10-07 22:14:33 +02:00
last_input_time = time(NULL);
2024-10-07 20:23:21 +02:00
}
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) {
if (hKeyboardHook) {
UnhookWindowsHookEx(hKeyboardHook);
hKeyboardHook = NULL;
}
2024-10-07 20:23:21 +02:00
}
2024-10-07 22:14:33 +02:00
__declspec(dllexport) long long last_input_received(void) {
return last_input_time;
2024-10-07 20:23:21 +02:00
}