예제 #1
0
 /// <summary>
 /// Adds a key down to the hook.
 /// </summary>
 /// <param name="key">The key to be added.</param>
 /// <param name="callback">The function to be called when the key is pressed.</param>
 public static bool AddKeyDown(Keys key, KeyPressed callback)
 {
     KeyDown = null;
     if (!handledKeysDown.ContainsKey(key))
     {
         handledKeysDown.Add(key, callback);
         return true;
     }
     else
         return false;
 }
예제 #2
0
 public KeyboardHook()
 {
     Application.AddMessageFilter(this);
     hookHandler = HookFunc;
 }
예제 #3
0
 private static extern int SetWindowsHookEx(int idHook, KeyboardHookHandler lpfn, IntPtr hMod, uint dwThreadId);
 /// <summary>
 /// Install low level keyboard hook
 /// </summary>
 public void Install()
 {
     hookHandler = HookFunc;
     hookID      = SetHook(hookHandler);
 }
 /// <summary>
 /// Registers hook with Windows API
 /// </summary>
 /// <param name="proc">Callback function</param>
 /// <returns>Hook ID</returns>
 private IntPtr SetHook(KeyboardHookHandler proc)
 {
     using (ProcessModule module = Process.GetCurrentProcess().MainModule)
         return(SetWindowsHookEx(13, proc, GetModuleHandle(module.ModuleName), 0));
 }
예제 #6
0
 /// <summary>
 /// Registers hook with Windows API
 /// </summary>
 /// <param name="proc">Callback function</param>
 /// <returns>Hook ID</returns>
 private IntPtr SetHook(KeyboardHookHandler proc)
 {
     using (ProcessModule module = Process.GetCurrentProcess().MainModule)
         return SetWindowsHookEx(13, proc, GetModuleHandle(module.ModuleName), 0);
 }
예제 #7
0
 private static extern IntPtr SetWindowsHookEx(int idHook, KeyboardHookHandler lpfn, IntPtr hMod, uint dwThreadId);
예제 #8
0
 /// <summary>
 ///     Registers hook with Windows API.
 /// </summary>
 /// <param name="proc">Callback function</param>
 /// <returns>Hook ID.</returns>
 private static IntPtr SetHook(KeyboardHookHandler proc)
 {
     using (var module = Process.GetCurrentProcess().MainModule)
         return SetWindowsHookEx(0xd, proc, NativeMethods.GetModuleHandle(module.ModuleName), 0);
 }
예제 #9
0
 /// <summary>
 /// Install low level keyboard hook
 /// </summary>
 public void Install()
 {
     hookHandler = HookFunc;
     hookID = SetHook(hookHandler);
 }
예제 #10
0
 /// <summary>
 /// Install low level keyboard hook
 /// </summary>
 public void Install()
 {
     hookHandler = HookFunc;
     hookID      = SetHook(hookHandler);
     IsActive    = true;
 }
예제 #11
0
 public void Install()
 {
     hookHandler = new KeyboardHookHandler(HookFunc);
     hookID      = SetHook(hookHandler);
 }
 /// <summary>
 ///     Registers hook with Windows API.
 /// </summary>
 /// <param name="proc">Callback function</param>
 /// <returns>Hook ID.</returns>
 private static IntPtr SetHook(KeyboardHookHandler proc)
 {
     using (var module = Process.GetCurrentProcess().MainModule)
         return(SetWindowsHookEx(0xd, proc, NativeMethods.GetModuleHandle(module.ModuleName), 0));
 }
 //---------------------------
 //       Hook Methods
 //---------------------------
 public void Install()
 {
     _hookHandler = HookFunc;
     _hookId = SetHook(_hookHandler);
 }
예제 #14
0
        /// <summary>
        /// Install low level keyboard hook
        /// </summary>
        public void Install()
        {
            _hookHandler = HookFunc;

            _hookId = SetHook(_hookHandler);
        }