public bool Start() { // install Mouse hook if (_hMouseHook == 0) { // Create an instance of HookProc. MouseHookProcedure = new GlobalHookProc(MouseHookProc); try { _hMouseHook = SetWindowsHookEx(WH_MOUSE_LL, MouseHookProcedure, Marshal.GetHINSTANCE( Assembly.GetExecutingAssembly().GetModules()[0]), 0); } catch (Exception ex) { throw ex; } //如果安装鼠标钩子失败 if (_hMouseHook == 0) { Stop(); return(false); //throw new Exception("SetWindowsHookEx failed."); } } return(true); }
public bool Start() { // install Mouse hook if (_hMouseHook == 0) { // Create an instance of HookProc. MouseHookProcedure = new GlobalHookProc(MouseHookProc); try { _hMouseHook = SetWindowsHookEx(WH_MOUSE_LL, MouseHookProcedure, Marshal.GetHINSTANCE( //Assembly.GetExecutingAssembly().GetModules()[0] Assembly.GetEntryAssembly().GetModules()[0]), 0); } catch (Exception err) { } //如果安装鼠标钩子失败 if (_hMouseHook == 0) { Stop(); return(false); //throw new Exception("SetWindowsHookEx failed."); } } //安装键盘钩子 if (_hKeyboardHook == 0) { KeyboardHookProcedure = new GlobalHookProc(KeyboardHookProc); try { _hKeyboardHook = SetWindowsHookEx(WH_KEYBOARD_LL, KeyboardHookProcedure, Marshal.GetHINSTANCE( //Assembly.GetExecutingAssembly().GetModules()[0] Assembly.GetEntryAssembly().GetModules()[0]), 0); } catch (Exception err2) { } //如果安装键盘钩子失败 if (_hKeyboardHook == 0) { Stop(); return(false); //throw new Exception("SetWindowsHookEx ist failed."); } } return(true); }
public bool Start(string _moduleName) { moduleName = _moduleName; // install Mouse hook if (_hMouseHook == 0) { // Create an instance of HookProc. MouseHookProcedure = new GlobalHookProc(MouseHookProc); try { _hMouseHook = SetWindowsHookEx(WH_MOUSE_LL, MouseHookProcedure, GetModuleHandle(moduleName), 0); } catch { return(false); } //如果安装鼠标钩子失败 if (_hMouseHook == 0) { Stop(); return(false); //throw new Exception("SetWindowsHookEx failed."); } } //安装键盘钩子 if (_hKeyboardHook == 0) { KeyboardHookProcedure = new GlobalHookProc(KeyboardHookProc); try { _hKeyboardHook = SetWindowsHookEx(WH_KEYBOARD_LL, KeyboardHookProcedure, GetModuleHandle(moduleName), 0); } catch (Exception) { return(false); } //如果安装键盘钩子失败 if (_hKeyboardHook == 0) { Stop(); return(false); //throw new Exception("SetWindowsHookEx ist failed."); } } return(true); }
public bool Start() { // install Mouse hook if (_hMouseHook == 0) { // Create an instance of HookProc. MouseHookProcedure = new GlobalHookProc(MouseHookProc); try { _hMouseHook = SetWindowsHookEx(WH_MOUSE_LL, MouseHookProcedure, GetModuleHandle(System.Diagnostics.Process.GetCurrentProcess().MainModule.ModuleName), 0); } catch (Exception err) { Debug.LogError(err.ToString()); } //如果安装鼠标钩子失败 if (_hMouseHook == 0) { Debug.LogError("安装鼠标失败"); Stop(); return(false); //throw new Exception("SetWindowsHookEx failed."); } } //安装键盘钩子 if (_hKeyboardHook == 0) { KeyboardHookProcedure = new GlobalHookProc(KeyboardHookProc); try { _hKeyboardHook = SetWindowsHookEx(WH_KEYBOARD_LL, KeyboardHookProcedure, GetModuleHandle(System.Diagnostics.Process.GetCurrentProcess().MainModule.ModuleName), 0); } catch (Exception err2) { Debug.LogError(err2.ToString()); } //如果安装键盘钩子失败 if (_hKeyboardHook == 0) { Debug.LogError("安装键盘失败"); Stop(); return(false); //throw new Exception("SetWindowsHookEx ist failed."); } } return(true); }
public void Start() { // install Mouse hook if (hMouseHook == 0) { // Create an instance of HookProc. MouseHookProcedure = new GlobalHookProc(MouseHookProc); hMouseHook = SetWindowsHookEx( 14, // WH_MOUSE_LL, monitors low-level mouse input events MouseHookProcedure, Marshal.GetHINSTANCE(Assembly.GetExecutingAssembly().GetModules()[0]), 0 ); //If SetWindowsHookEx fails. if (hMouseHook == 0) { Stop(); throw new Exception("SetWindowsHookEx failed. Please uncheck the \"Enable the Visual Studio hosting process\" in project property."); } } }
public static extern int SetWindowsHookEx(int idHook, GlobalHookProc lpfn, IntPtr hInstance, int threadId);