Example #1
0
        // **************************************************************

        // **************************************************************
        // Handles the hook event

        private void CbtHookInvoked(object sender, HookEventArgs e)
        {
            CbtHookAction code   = (CbtHookAction)e.HookCode;
            IntPtr        wParam = e.wParam;
            IntPtr        lParam = e.lParam;

            // Handle hook events (only a few of available actions)

            switch (code)
            {
            case CbtHookAction.HCBT_CREATEWND:
                HandleCreateWndEvent(wParam, lParam);
                break;

            case CbtHookAction.HCBT_DESTROYWND:
                HandleDestroyWndEvent(wParam, lParam);
                break;

            case CbtHookAction.HCBT_ACTIVATE:
                HandleActivateEvent(wParam, lParam);
                break;
            }

            return;
        }
Example #2
0
 private IntPtr CbtWindowsHookProc(CbtHookAction code, IntPtr wParam, IntPtr lParam)
 {
     if (code == CbtHookAction.HCBT_SETFOCUS)
     {
         SendFocusChangeNotification(wParam, lParam);
     }
     return(User32.CallNextHookEx(IntPtr.Zero, code, wParam, lParam));
 }
Example #3
0
 public static extern IntPtr CallNextHookEx(IntPtr hhk, CbtHookAction code, IntPtr wParam, IntPtr lParam);