SetWindowsHookEx function user32

Win32Result<HHOOK> SetWindowsHookEx(
  1. WINDOWS_HOOK_ID idHook,
  2. Pointer<NativeFunction<HOOKPROC>> lpfn,
  3. HINSTANCE? hmod,
  4. int dwThreadId,
)

Installs an application-defined hook procedure into a hook chain.

To learn more, see learn.microsoft.com/windows/win32/api/winuser/nf-winuser-setwindowshookexw.

Implementation

Win32Result<HHOOK> SetWindowsHookEx(
  WINDOWS_HOOK_ID idHook,
  Pointer<NativeFunction<HOOKPROC>> lpfn,
  HINSTANCE? hmod,
  int dwThreadId,
) {
  resolveGetLastError();
  final result_ = _SetWindowsHookEx(idHook, lpfn, hmod ?? nullptr, dwThreadId);
  return .new(value: .new(result_), error: GetLastError());
}