Example #1
0
        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);
 }
Example #3
0
        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);
        }
Example #4
0
 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);
 }
Example #5
0
        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.");
                }
            }
        }
Example #6
0
        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.");
                }
            }
        }
Example #7
0
 public static extern int SetWindowsHookEx(int idHook, GlobalHookProc lpfn, IntPtr hInstance, int threadId);
Example #8
0
        public static extern int SetWindowsHookEx(int idHook, GlobalHookProc lpfn,
			IntPtr hInstance, int threadId);