Example #1
0
 public void Start(bool InstallMouseHook, bool InstallKeyboardHook)
 {
     if (this.hMouseHook == 0 && InstallMouseHook)
     {
         UserActivityHook.MouseHookProcedure = new UserActivityHook.HookProc(this.MouseHookProc);
         this.hMouseHook = UserActivityHook.SetWindowsHookEx(14, UserActivityHook.MouseHookProcedure, Marshal.GetHINSTANCE(Assembly.GetExecutingAssembly().GetModules()[0]), 0);
         if (this.hMouseHook == 0)
         {
             int errorCode = Marshal.GetLastWin32Error();
             this.Stop(true, false, false);
             throw new Win32Exception(errorCode);
         }
     }
     if (this.hKeyboardHook == 0 && InstallKeyboardHook)
     {
         UserActivityHook.KeyboardHookProcedure = new UserActivityHook.HookProc(this.KeyboardHookProc);
         this.hKeyboardHook = UserActivityHook.SetWindowsHookEx(13, UserActivityHook.KeyboardHookProcedure, Marshal.GetHINSTANCE(Assembly.GetExecutingAssembly().GetModules()[0]), 0);
         if (this.hKeyboardHook == 0)
         {
             int errorCode = Marshal.GetLastWin32Error();
             this.Stop(false, true, false);
             throw new Win32Exception(errorCode);
         }
     }
 }
Example #2
0
 private static extern int SetWindowsHookEx(int idHook, UserActivityHook.HookProc lpfn, IntPtr hMod, int dwThreadId);