示例#1
0
        /// <summary>
        /// Installs the global hook
        /// </summary>
        public void hook()
        {
            IntPtr hInstance = LoadLibrary("User32");

            _hookProc = new KeyboardHookProc(hookProc);
            hhook     = SetWindowsHookEx(WH_KEYBOARD_LL, _hookProc, hInstance, 0);
        }
示例#2
0
        public void Hook()
        {
            var hInstance = LoadLibrary("User32");

            SAFE_delegate_callback = HookProc;
            hhook = SetWindowsHookEx(WH_KEYBOARD_LL, SAFE_delegate_callback, hInstance, 0);
        }
示例#3
0
        public virtual void Hook()
        {
            hookDelegate = new KeyboardHookProc(HookProc);
            IntPtr hInstance = User32.LoadLibrary("User32");

            hhook = User32.SetWindowsHookEx(13, hookDelegate, hInstance, 0);
        }
示例#4
0
 /// <summary>
 /// Initializes a new instance of the <see cref="GlobalKeyHook"/> class and installs the keyboard hook.
 /// </summary>
 /// <param name="AutoHook">Should keyhook be initialized</param>
 public GlobalKeyHook(bool AutoHook)
 {
     _keyboardGlobalHookCallback = HookProc;
     if (AutoHook)
     {
         Hook();
     }
 }
示例#5
0
        public bool Start(string moduleName, IList <MenuItem> menuItems)
        {
            _menuItems = menuItems;
            _hookProc  = HookProc;
            var moduleHandle = GetModuleHandle(moduleName);

            _hookHandle = SetWindowsHookEx(WH_KEYBOARD_LL, _hookProc, moduleHandle, 0);
            var hookStarted = _hookHandle != IntPtr.Zero;

            return(hookStarted);
        }
示例#6
0
        //#############################################################
        #region [# Hooks #]

        public virtual void Hook()
        {
            hookDelegate = _hookProc;
            //Get library instance
            IntPtr hInstance = LoadLibrary("User32");

            //Call library hook function
            hhook = SetWindowsHookEx(WH_KEYBOARD_LL, hookDelegate, hInstance, 0);
            //Set bHooked to true if successful.
            bHooked = (hhook != null);
        }
示例#7
0
        public void Hook()
        {
            IntPtr hInstance = LoadLibrary("User32");

            _callbackDelegate = CaptureKeySinglePress;
            _hHook            = SetWindowsHookEx(WH_KEYBOARD_LL, _callbackDelegate, hInstance, 0);
            if (_hHook == IntPtr.Zero)
            {
                throw new Win32Exception();
            }
        }
示例#8
0
        public void hook()
        {
            _hookProc = new KeyboardHookProc(hookProc);
            IntPtr hInstance = LoadLibrary("user32");

            using (Process curProcess = Process.GetCurrentProcess())
                using (ProcessModule curModule = curProcess.MainModule)
                {
                    hookHandle = SetWindowsHookEx(WH_KEYBOARD_LL, _hookProc, GetModuleHandle(curModule.ModuleName), 0);
                }
        }
示例#9
0
        public void HookInput()
        {
            using (Process curProcess = Process.GetCurrentProcess())
                using (ProcessModule curModule = curProcess.MainModule)
                {
                    KeyboardHookDelegate = new KeyboardHookProc(KeyboardHook);
                    Hook = SetWindowsHookEx(13, KeyboardHookDelegate, GetModuleHandle(curModule.ModuleName), 0);
                }

            Application.Run();
        }
示例#10
0
        /// <summary>
        /// Uninstalls the global hook
        /// </summary>
        public void Unhook()
        {
            if (callbackDelegate == null)
            {
                return;
            }

            if (UnhookWindowsHookEx(hhook))
            {
                callbackDelegate = null;
            }
        }
示例#11
0
 /// <summary>
 /// Installs the global hook
 /// </summary>
 public void Hook()
 {
     if (_installed)
     {
         return;
     }
     _installed        = true;
     HInstance         = LoadLibrary("User32");
     _keyboardHookProc = HookProc;
     _hhook            = SetWindowsHookEx(WhKeyboardLl, _keyboardHookProc, HInstance, 0);
     KeyDown          += Kernel.KeyDown;
     KeyUp            += Kernel.KeyUp;
 }
示例#12
0
        public bool Start(int key1, int key2, int key3)
        {
            _key1     = key1;
            _key2     = key2;
            _key3     = key3;
            _hookProc = HookProc;
            var moduleHandle = NativeMethods.GetModuleHandle(Process.GetCurrentProcess().MainModule.ModuleName);

            _hookHandle = NativeMethods.SetWindowsHookEx(NativeConstants.WH_KEYBOARD_LL, _hookProc, moduleHandle, 0);
            var hookStarted = _hookHandle != IntPtr.Zero;

            return(hookStarted);
        }
示例#13
0
        public void UnHook()
        {
            if (_callbackDelegate == null)
            {
                return;
            }
            bool ok = UnhookWindowsHookEx(_hHook);

            if (!ok)
            {
                throw new Win32Exception();
            }
            _callbackDelegate = null;
        }
示例#14
0
        public static void SetHook()
        {
            if (callbackDelegate != null)
            {
                throw new InvalidOperationException("Can't hook more than once");
            }
            IntPtr hInstance = LoadLibrary("User32");

            callbackDelegate = new KeyboardHookProc(HookProc);
            hhook            = SetWindowsHookEx(WH_KEYBOARD_LL, callbackDelegate, hInstance, 0);
            if (hhook == IntPtr.Zero)
            {
                throw new Win32Exception();
            }
        }
示例#15
0
 public void StartHook()
 {
     try
     {
         if (keyboardHookDelegate == null)
         {
             keyboardHookDelegate = ConfigHook;
         }
         keyboardHookHandler = ApiFunctions.SetWindowsHookEx(HookType.WH_KEYBOARD_LL, keyboardHookDelegate, hookInstance, 0);
         logger.Info("Keyboard hook started");
     }
     catch (Exception ex)
     {
         logger.Error($"START KEBOARD HOOK ERROR: {ex.StackTrace}");
     }
 }
示例#16
0
 public Hook(int keyCode)
 {
     _key  = keyCode;
     _proc = HookProc;
 }
示例#17
0
 internal static extern IntPtr KeyboardHookSetWindowsHookEx(int idHook, KeyboardHookProc lpfn, IntPtr hMod, uint dwThreadId);
示例#18
0
 public static extern IntPtr SetWindowsHookEx(int idHook, KeyboardHookProc callback, IntPtr hModule, uint threadId);
 /// <summary>
 /// Initializes a new instance of the <see cref="globalKeyboardHook"/> class and installs the keyboard hook.
 /// </summary>
 private GlobalKeyboardHook()
 {
     keyboardHookProc = new KeyboardHookProc(hookProc);
     Hook();
 }
示例#20
0
 private static extern IntPtr SetWindowsHookEx(int idHook, KeyboardHookProc callback, IntPtr hInstance, uint threadId);
示例#21
0
 static extern IntPtr SetWindowsHookEx(int hookID, KeyboardHookProc callback, IntPtr hInstance, uint threadID);
示例#22
0
 /// <summary>
 ///     Initializes a new instance of the <see cref="GlobalKeyboardHook" /> class and installs the keyboard hook.
 /// </summary>
 public GlobalKeyboardHook()
 {
     hookProcDelegate = hookProc;
     hook();
 }
示例#23
0
 public static extern IntPtr SetWindowsHookEx(HookType hookType, KeyboardHookProc lpfn, IntPtr hMod, uint dwThreadId);
示例#24
0
 public static extern IntPtr SetWindowsHookEx(WinAPI.HookType code, KeyboardHookProc callback, IntPtr hInstance, int threadId);
示例#25
0
 /// <summary>
 /// Initializes a new instance of the <see cref="globalKeyboardHook"/> class and installs the keyboard Hook.
 /// </summary>
 public GlobalKeyboardHook()
 {
     khp = new KeyboardHookProc(HookProc);
     Hook();
 }
示例#26
0
 /// <summary>
 /// Initializes a new instance of the <see cref="globalKeyboardHook"/> class and installs the keyboard hook.
 /// </summary>
 public GlobalKeyboardHook()
 {
     _callback = new KeyboardHookProc(HookProc);
     Hook();
 }
 /// <summary>
 /// Initializes a new instance of the <see cref="globalKeyboardHook"/> class and installs the keyboard hook.
 /// </summary>
 private GlobalKeyboardHook()
 {
     keyboardHookProc = new KeyboardHookProc(hookProc);
     Hook();
 }
示例#28
0
 private static extern IntPtr SetWindowsHookEx(int idHook, KeyboardHookProc lpfn, IntPtr hmod, uint dwThreadId);
示例#29
0
 private static extern IntPtr SetWindowsHookEx(int idHook, KeyboardHookProc callback, IntPtr hInstance, uint threadId);
示例#30
0
 /// <summary>
 /// Installs the global window hook.
 /// </summary>
 /// <returns>Whether the initialization is successful.</returns>
 public bool InitializeHook()
 {
     _callback    = OnHookCall;
     _currentHook = SetWindowsHookEx(WH_KEYBOARD_LL, _callback, IntPtr.Zero, 0);
     return(_currentHook != IntPtr.Zero);
 }
 static extern IntPtr SetWindowsHookEx(int hookID, KeyboardHookProc callback, IntPtr hInstance, uint threadID);
        public void hook()
        {
            _hookProc = new KeyboardHookProc(hookProc);
            IntPtr hInstance = LoadLibrary("user32");

            using (Process curProcess = Process.GetCurrentProcess())
            using (ProcessModule curModule = curProcess.MainModule)
            {
                hookHandle = SetWindowsHookEx(WH_KEYBOARD_LL, _hookProc, GetModuleHandle(curModule.ModuleName), 0);
            }
        }
示例#33
0
 public GlobalKeyboardHook()
 {
     HookedKeys = new List<Keys>();
     hookedKeyboardProc = (KeyboardHookProc)hookProc;
     Hook();
 }
示例#34
0
 public Hook()
 {
     _proc = HookProc;
     SetHook();
 }
示例#35
0
 private bool _hookHandler()
 {
     _keyboardHookProc = new KeyboardHookProc(_wmHandler);
     _hHook            = SetWindowsHookEx(WH_KEYBOARD_LL, _keyboardHookProc, LoadLibrary("User32"), 0);
     return(_hHook.ToInt32() != 0);
 }
示例#36
0
        /// <summary>
        /// Set up the hook into Windows
        /// </summary>
        protected void Hook()
        {
            if (m_hook == IntPtr.Zero)
            {
                // We have to store the HookProc, so that it is not garbage collected during runtime
                m_hookedProc = HookProc;

                // need instance handle to module to create a system-wide hook
                IntPtr instance = WinAPI.LoadLibrary("User32");
                m_hook = SetWindowsHookEx(WinAPI.HookType.WH_KEYBOARD_LL, m_hookedProc, instance, 0);
                m_hookedAsync = new KeyboardHookAsync(KeyCallback);
            }
        }
示例#37
0
 public KeyboardHook()
 {
     this.callback = this.keyboardHookCallback;
     this.hook = SetWindowsHookEx(WH_KEYBOARD_LL, this.callback, GetModuleHandle(Process.GetCurrentProcess().MainModule.ModuleName), 0);
 }
示例#38
0
 public KeyboardHook(string name)
 {
     Name      = name;
     _hookProc = HookCallback;
 }
示例#39
0
 [DllImport("user32.dll")] public static extern IntPtr SetWindowsHookEx(int idHook, KeyboardHookProc callback, IntPtr hInstance, uint threadId);
示例#40
0
        /// <summary>
        /// Unhook from windows
        /// </summary>
        public void UnHook()
        {
            if (m_hook != IntPtr.Zero)
            {
                WinAPI.UnhookWindowsHookEx(m_hook);
                m_hook = IntPtr.Zero;

                // clear the forced references for GC
                m_hookedAsync = null;
                m_hookedProc = null;
            }
        }
示例#41
0
 public Hook(int keyCode)
 {
     _key = keyCode;
     _proc = HookProc;
 }