public int MouseHookStart(MouseProc onMouseProc) { MouseHookProcedure = new MouseProc(onMouseProc); // 设置钩子 return WinApi.SetWindowsHookEx(WH_MOUSE_LL, MouseHookProcedure, IntPtr.Zero, 0); }
static IntPtr SetHook(MouseProc proc) { #pragma warning disable 618 return(SetWindowsHookEx(WH_MOUSE, proc, IntPtr.Zero, (uint)AppDomain.GetCurrentThreadId())); #pragma warning restore 618 }
private static IntPtr SetHook(MouseProc proc) { using (Process currentProcess = Process.GetCurrentProcess()) using (ProcessModule module = currentProcess.MainModule !) { return(SetWindowsHookEx(WH_GETMESSAGE, proc, GetModuleHandle(module.ModuleName !), 0)); } }
private static IntPtr SetMouseHook(MouseProc proc) { using (Process curProcess = Process.GetCurrentProcess()) using (ProcessModule curModule = curProcess.MainModule) { return(SetWindowsHookEx(WH_MOUSE, proc, GetModuleHandle(curModule.ModuleName), 0)); } }
/// <summary> /// attaches a low level mouse hook and set the handler for the events /// </summary> /// <param name="proc">the handler for the mouse events </param> /// <returns>pointer to the attached hook</returns> private static IntPtr AttachMouseHook(MouseProc proc) { using (var process = Process.GetCurrentProcess()) { using (var processModule = process.MainModule) { var hook = SetWindowsHookEx(WH_MOUSE_LL, proc, GetModuleHandle(processModule.ModuleName), 0); return(hook); } } }
public Hook(IMessageHandlerClient client) { m_Client=client; m_mouseHook = new MouseProc(OnMouseHook); m_keyboardHook=new KeyboardProc(OnKeyboardHook); m_hMouseHook = SetWindowsHookEx(WH_MOUSE, m_mouseHook, IntPtr.Zero, GetCurrentThreadId()); m_hKeyboardHook=SetWindowsHookExKeyboard(WH_KEYBOARD,m_keyboardHook,IntPtr.Zero,GetCurrentThreadId()); if (m_hMouseHook == IntPtr.Zero || m_hKeyboardHook==IntPtr.Zero) { throw new Win32Exception(); } }
public void MouseHookStart(MouseProc onMouseProc) { if (hMouseHook == 0) { MouseHookProcedure = new MouseProc(onMouseProc); // 设置钩子 hMouseHook = SetWindowsHookEx(WH_MOUSE_LL, MouseHookProcedure, IntPtr.Zero, 0); if (hMouseHook == 0) { MouseHookStop(); throw new Exception("SetWindowsHookEx failed"); } } }
static extern IntPtr SetWindowsHookEx(int idHook, MouseProc lpfn, IntPtr hMod, uint dwThreadId);
public static extern int SetWindowsHookEx(int idHook, MouseProc lpfn, IntPtr hInstance, int threadId);
private static extern IntPtr SetWindowsHookEx(int hookid, MouseProc pfnhook, IntPtr hinst, int threadid);
// Methods static NonClientHook() { NonClientHook.rwClientsListLock = new ReaderWriterLock(); m_MouseHook = new MouseProc(OnMouseHook); }
private static extern IntPtr SetWindowsHookEx(int hookId, MouseProc lpfn, IntPtr hmod, uint dwThreadId);