Beispiel #1
0
        public static int LowLevelKeyboardProc(int nCode, IntPtr wParam, IntPtr LPARAM)
        {
            ProcStructs.KBDLLHOOKSTRUCT kBDLLHOOKSTRUCT = (ProcStructs.KBDLLHOOKSTRUCT)Marshal.PtrToStructure(LPARAM, typeof(ProcStructs.KBDLLHOOKSTRUCT));

            Console.WriteLine("LowLevelKeyboardProc Invoked");
            return((int)WinAPIs.CallNextHookEx(RunningDLLInstance, nCode, wParam, LPARAM));
        }
Beispiel #2
0
        public static int CallWndProc(int nCode, IntPtr wParam, IntPtr LPARAM)
        {
            ProcStructs.CWPSTRUCT cWPSTRUCT = (ProcStructs.CWPSTRUCT)Marshal.PtrToStructure(LPARAM, typeof(ProcStructs.CWPSTRUCT));


            Console.WriteLine("CallWndProc Invoked");
            return((int)WinAPIs.CallNextHookEx(RunningDLLInstance, nCode, wParam, LPARAM));
        }
Beispiel #3
0
        public static int LowLevelMouseProc(int nCode, IntPtr wParam, IntPtr LPARAM)
        {
            ProcStructs.MouseLLHookStruct mouseLLHookStruct = (ProcStructs.MouseLLHookStruct)Marshal.PtrToStructure(LPARAM, typeof(ProcStructs.MouseLLHookStruct));
            MouseButtons button  = MouseButtons.None;
            int          callRes = (int)WinAPIs.CallNextHookEx(RunningDLLInstance, nCode, wParam, LPARAM);

            #region junk
            //// var clickedWinText = new WinAPIs().GetWindowText(Program.targetWinHandle);
            // var clickedWinHandle = WinAPIs.WindowFromPoint(mouseLLHookStruct.pt);
            // //if (!clickedWinText.ToLower().Contains(Program.targetAppName.ToLower()))
            // //    return callRes;
            // if (Program.targetWinHandle!=clickedWinHandle)
            //     return callRes;

            // Console.WriteLine("Api response is :" +(int)clickedWinHandle + "    Targetapplication is :" + (int)Program.targetWinHandle);
            #endregion
            switch (wParam.ToInt32())
            {
            case Constants.MouseEvents.WM_MOUSEMOVE:
                button = MouseButtons.None;

                MouseEventArgs e2 = new MouseEventArgs(
                    button,
                    1,
                    mouseLLHookStruct.pt.X,
                    mouseLLHookStruct.pt.Y,
                    0);
                OnMouseMovement(null, e2);
                return(callRes);

            //case WM_MOUSEWHEEL:
            //    short zDelta = (short)(mhs.mouseData >> 16);
            //    MouseKeyboardEventHandler.MouseWheel(left, top, zDelta);
            //    break;

            //case WM_LBUTTONDOWN:
            //    MouseKeyboardEventHandler.LeftMouseDown(left, top);
            //    break;

            //case WM_LBUTTONUP:
            //    MouseKeyboardEventHandler.LeftMouseUp(left, top);
            //    break;
            case Constants.MouseEvents.WM_RBUTTONDOWN:
                button = MouseButtons.Right;
                MouseEventArgs e = new MouseEventArgs(
                    button,
                    1,
                    mouseLLHookStruct.pt.X,
                    mouseLLHookStruct.pt.Y,
                    0);
                OnMouseActivity(null, e);
                return(-1);

            case Constants.MouseEvents.WM_LBUTTONDOWN:
                button = MouseButtons.Left;
                MouseEventArgs e1 = new MouseEventArgs(
                    button,
                    1,
                    mouseLLHookStruct.pt.X,
                    mouseLLHookStruct.pt.Y,
                    0);

                OnMouseActivity(null, e1);
                return(-1);

            case Constants.MouseEvents.WM_RBUTTONUP:

                return(-1);

            case Constants.MouseEvents.WM_LBUTTONUP:

                return(-1);
            }
            return(callRes);
            //return (int)WinAPIs.CallNextHookEx(RunningDLLInstance, nCode, wParam, LPARAM);
        }
Beispiel #4
0
        public static int MouseProc(int nCode, IntPtr wParam, IntPtr LPARAM)
        {
            Console.WriteLine("MouseProc Invoked");

            return((int)WinAPIs.CallNextHookEx(RunningDLLInstance, nCode, wParam, LPARAM));
        }