Esempio n. 1
0
 public void UninstallHook()
 {
     if (KeyboardHookLib._hHookValue == 0 || !KeyboardHookLib.UnhookWindowsHookEx(KeyboardHookLib._hHookValue))
     {
         return;
     }
     KeyboardHookLib._hHookValue = 0;
 }
Esempio n. 2
0
 public void InstallHook(KeyboardHookLib.ProcessKeyHandle clientMethod)
 {
     KeyboardHookLib._clientMethod = clientMethod;
     if (KeyboardHookLib._hHookValue != 0)
     {
         return;
     }
     this._KeyBoardHookProcedure = new KeyboardHookLib.HookHandle(KeyboardHookLib.OnHookProc);
     this._hookWindowPtr         = KeyboardHookLib.GetModuleHandle(Process.GetCurrentProcess().MainModule.ModuleName);
     KeyboardHookLib._hHookValue = KeyboardHookLib.SetWindowsHookEx(13, this._KeyBoardHookProcedure, this._hookWindowPtr, 0);
     if (KeyboardHookLib._hHookValue != 0)
     {
         return;
     }
     this.UninstallHook();
 }
Esempio n. 3
0
 private static int OnHookProc(int nCode, int wParam, IntPtr lParam)
 {
     if (nCode >= 0)
     {
         KeyboardHookLib.HookStruct structure = (KeyboardHookLib.HookStruct)Marshal.PtrToStructure(lParam, typeof(KeyboardHookLib.HookStruct));
         if (KeyboardHookLib._clientMethod != null && wParam == 256)
         {
             bool handle = false;
             KeyboardHookLib._clientMethod(structure, out handle);
             if (handle)
             {
                 return(1);
             }
         }
     }
     return(KeyboardHookLib.CallNextHookEx(KeyboardHookLib._hHookValue, nCode, wParam, lParam));
 }