Я не уверен, что именно вы ищете, но я разрабатывал приложение с использованием хуков, в QT / C ++, так что я могу привести небольшой пример.
Сначала объявите прототип функции, например,
LRESULT CALLBACK LowLevelMouseProc(int nCode, WPARAM wParam, LPARAM lParam);
затем вам нужно установить хук в основной функции следующим образом:
HHOOK mouseHook;
HINSTANCE appInstance = GetModuleHandle(NULL);
mouseHook = SetWindowsHookEx(WH_MOUSE_LL, LowLevelMouseProc, appInstance, 0); //set global mouse hook
и затем вам нужно определить функцию обратного вызова, я могу дать вам мой код>
//Mouse hook callback function.
LRESULT CALLBACK LowLevelMouseProc(int nCode, WPARAM wParam, LPARAM lParam){
if (nCode == HC_ACTION) {
switch(wParam){
case WM_LBUTTONUP:
case WM_RBUTTONUP:
case WM_MOUSEWHEEL:
#ifdef DEBUG
w->printText("Scrolling or click");
#endif
w->save_key("MOUSE");
i++;
break;
default: break;
}
}
return CallNextHookEx(mouseHook, nCode, wParam, lParam);
}