/// <summary> /// 向Windows註冊Hook。 /// </summary> private static void Install() { if (m_HookHandle == 0) { Process curProcess = Process.GetCurrentProcess(); ProcessModule curModule = curProcess.MainModule; m_HookProc = new NativeStructs.HookProc(HookProc); m_HookHandle = NativeMethods.SetWindowsHookEx(NativeContansts.WH_MOUSE_LL, m_HookProc, NativeMethods.GetModuleHandle(curModule.ModuleName), 0); curModule.Dispose(); curProcess.Dispose(); m_DoubleClickTimer = new Timer { Interval = NativeMethods.GetDoubleClickTime(), Enabled = false }; m_DoubleClickTimer.Tick += DoubleClickTimeElapsed; GlobalMouseDown += OnMouseDown; if (m_HookHandle == 0) { throw new Exception("Install Hook Faild."); } } }
/// <summary> /// 向Windows註冊Hook。 /// </summary> private static void Install() { if (m_HookHandle == 0) { Process curProcess = Process.GetCurrentProcess(); ProcessModule curModule = curProcess.MainModule; m_HookProc = new NativeStructs.HookProc(HookProc); m_HookHandle = NativeMethods.SetWindowsHookEx(NativeContansts.WH_KEYBOARD_LL, m_HookProc, NativeMethods.GetModuleHandle(curModule.ModuleName), 0); curModule.Dispose(); curProcess.Dispose(); if (m_HookHandle == 0) { throw new Exception("Install Hook Faild."); } } }
public static extern int SetWindowsHookEx(int idHook, NativeStructs.HookProc lpfn, IntPtr hInstance, int threadId);
/// <summary> /// 向Windows註冊Hook。 /// </summary> private static void Install() { if (m_HookHandle == 0) { Process curProcess = Process.GetCurrentProcess(); ProcessModule curModule = curProcess.MainModule; m_HookProc = new NativeStructs.HookProc(HookProc); m_HookHandle = NativeMethods.SetWindowsHookEx(NativeContansts.WH_KEYBOARD_LL, m_HookProc, NativeMethods.GetModuleHandle(curModule.ModuleName), 0); curModule.Dispose(); curProcess.Dispose(); if (m_HookHandle == 0) throw new Exception("Install Hook Faild."); } }
/// <summary> /// 向Windows註冊Hook。 /// </summary> private static void Install() { if (m_HookHandle == 0) { Process curProcess = Process.GetCurrentProcess(); ProcessModule curModule = curProcess.MainModule; m_HookProc = new NativeStructs.HookProc(HookProc); m_HookHandle = NativeMethods.SetWindowsHookEx(NativeContansts.WH_MOUSE_LL, m_HookProc, NativeMethods.GetModuleHandle(curModule.ModuleName), 0); curModule.Dispose(); curProcess.Dispose(); m_DoubleClickTimer = new Timer { Interval = NativeMethods.GetDoubleClickTime(), Enabled = false }; m_DoubleClickTimer.Tick += DoubleClickTimeElapsed; GlobalMouseDown += OnMouseDown; if (m_HookHandle == 0) throw new Exception("Install Hook Faild."); } }