internal void SetHook() { lpfn = OnReceived; var lpfnPtr = Marshal.GetFunctionPointerForDelegate(lpfn); hhk = SetWindowsHookExW(Type, lpfnPtr, _hModule, 0); }
internal void SetHook() { lpfn = OnReceived; var lpfnPtr = Marshal.GetFunctionPointerForDelegate(lpfn); hhk = User32.SetWindowsHookEx(Type, lpfnPtr, _hModule, 0); MSG msg = new MSG(); while (User32.GetMessage(ref msg, IntPtr.Zero, 0, 0) && !disposing) { User32.TranslateMessage(ref msg); User32.DispatchMessage(ref msg); } }
private void SetHookAndRunMessageLoop() { _hookProc = OnInputReceived; setWindowsHookExSafeHandle = SetWindowsHookEx( HookID, Marshal.GetFunctionPointerForDelegate(_hookProc), _mainModuleHandle, 0); var msg = new MSG(); while (GetMessage(ref msg, IntPtr.Zero, 0, 0)) { } }
public static extern IntPtr CallNextHookEx( SetWindowsHookExSafeHandle hhk, int nCode, IntPtr wParam, IntPtr lParam);