Example #1
0
        public HooksHandler()
        {
            _hookProc = Hook;
            IntPtr hInstance = WinApi.LoadLibrary("user32");

            _hookPtr = WinApi.SetWindowsHookEx(WinApi.WH_KEYBOARD_LL, _hookProc, hInstance, 0);
        }
Example #2
0
 private static IntPtr SetHook(WinApi.LowLevelKeyboardProc proc)
 {
     using (var curProcess = Process.GetCurrentProcess())
         using (var curModule = curProcess.MainModule)
         {
             return(WinApi.SetWindowsHookEx(Messages.WH_KEYBOARD_LL, proc,
                                            WinApi.GetModuleHandle(curModule.ModuleName), 0));
         }
 }
Example #3
0
        /// <summary>
        /// Sets up a keyboard hook to trap low level keyboard messages.
        /// </summary>
        public KeyboardHook()
        {
            const uint k_Thread = 0;

            m_HookProc = new WinApi.LowLevelKeyboardProc(this.lowLevelKeyboardHookCallback);
            //m_HookProc = new WinApi.HookProc(lowLevelKeyboardHookCallback);

            using (Process curProcess = Process.GetCurrentProcess())
                using (ProcessModule curModule = curProcess.MainModule)
                {
                    IntPtr hModule = WinApi.GetModuleHandle(curModule.ModuleName);
                    //m_HookID = WinApi.SetWindowsHookEx(WinApi.HookType.WH_KEYBOARD_LL, hook, hModule, k_Thread);
                    m_HookID = WinApi.SetWindowsHookEx(WinApi.HookType.WH_KEYBOARD_LL, m_HookProc, hModule, k_Thread);
                }
        }
Example #4
0
 private InterceptKeys()
 {
     _proc = HookCallback;
 }
Example #5
0
 private void GrabbieMain_Shown(object sender, EventArgs e)
 {
     try {
         var r = new Rectangle();
         r = Screen.AllScreens.Aggregate(r, (current, s) => Rectangle.Union(current, s.Bounds));
         Bounds = new Rectangle(r.Left, r.Top, r.Width, r.Height);
         m_HighX = Bounds.Width;
         m_HighY = Bounds.Height;
         m_ImageRect = Bounds;
         m_Proc = HookCallback;
         s_HookId = SetHook(m_Proc);
         Activate();
     } catch (Exception ex) {
         //TODO: Add are lovely Except Handler Here
     }
 }