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)); }
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)); }
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); }
public static int MouseProc(int nCode, IntPtr wParam, IntPtr LPARAM) { Console.WriteLine("MouseProc Invoked"); return((int)WinAPIs.CallNextHookEx(RunningDLLInstance, nCode, wParam, LPARAM)); }