Exemple #1
0
        internal void InternalGetMessage(ref API_MSG msg)
        {
            HookInfo hInfo = GetInfoByThread();

            for (int n = 0; n < hInfo.HookControllers.Count; n++)
            {
                IHookController2 ctrl = hInfo.HookControllers[n] as IHookController2;
                if (ctrl != null)
                {
                    Message m = msg.ToMessage();
                    ctrl.WndGetMessage(ref m);
                    msg.FromMessage(ref m);
                }
            }
        }
Exemple #2
0
        protected int GetMessageHook(int ncode, IntPtr wParam, IntPtr lParam)
        {
            HookInfo hInfo   = GetInfoByThread();
            API_MSG  hookStr = (API_MSG)Marshal.PtrToStructure(lParam, typeof(API_MSG));

            if (!hInfo.inHook && lParam != IntPtr.Zero)
            {
                try
                {
                    hInfo.inHook = true;
                    InternalGetMessage(ref hookStr);
                }
                finally
                {
                    hInfo.inHook = false;
                }
            }
            return(CallNextHookEx(hInfo.wndHookHandle, ncode, wParam, lParam));
        }
 internal void InternalGetMessage(ref API_MSG msg)
 {
     HookInfo hInfo = GetInfoByThread();
     for (int n = 0; n < hInfo.HookControllers.Count; n++)
     {
         IHookController2 ctrl = hInfo.HookControllers[n] as IHookController2;
         if (ctrl != null)
         {
             Message m = msg.ToMessage();
             ctrl.WndGetMessage(ref m);
             msg.FromMessage(ref m);
         }
     }
 }