Пример #1
0
 private void HookMouse(bool bHook)
 {
     if (MouseHookHandle == 0 && bHook)
     {
         using (var mainMod = Process.GetCurrentProcess().MainModule)
             MouseHookHandle = HookNativeDefinitions.SetWindowsHookEx(HookNativeDefinitions.WH_MOUSE_LL, MouseHookGCRootedDelegate, HookNativeDefinitions.GetModuleHandle(mainMod.ModuleName), 0);
         //If the SetWindowsHookEx function fails.
         if (MouseHookHandle == 0)
         {
             System.Windows.MessageBox.Show("SetWindowsHookEx Failed " + new Win32Exception(Marshal.GetLastWin32Error()));
             return;
         }
     }
     else if (bHook == false)
     {
         Debug.Print("Unhook mouse");
         HookNativeDefinitions.UnhookWindowsHookEx(MouseHookHandle);
         MouseHookHandle = 0;
     }
 }