private int MouseHoocFunction(int nCode, Int32 wParam, IntPtr lParam) { LowAPI.API_Structs.MouseLLHookStruct mouseHookStruct = (LowAPI.API_Structs.MouseLLHookStruct)Marshal.PtrToStructure(lParam, typeof(LowAPI.API_Structs.MouseLLHookStruct)); self.setTextboxText(nCode + "," + wParam + "," + mouseHookStruct.mouseData + "," + mouseHookStruct.pt.x + "," + mouseHookStruct.pt.y + "," + mouseHookStruct.flags + "," + mouseHookStruct.dwExtraInfo); if (eStatus.recording) { //UserEvents.AddDelayEvent(); //UserEvents.AddMouseEvent(nCode, wParam, mouseHookStruct); DelayAction Delay = new DelayAction(); Delay.milisecs = TimeDiff.Get(); UserEvents.Items.Add(Delay); MouseAction mouseAction = new MouseAction(); mouseAction.SetMouseActionData(nCode, wParam, mouseHookStruct); UserEvents.Items.Add(mouseAction); self.setTextboxText(nCode + "," + wParam + "," + mouseHookStruct.mouseData + "," + mouseHookStruct.pt.x + "," + mouseHookStruct.pt.y + "," + mouseHookStruct.flags + "," + mouseHookStruct.dwExtraInfo + ", " + Delay.milisecs); } return(API_Functions.CallNextHookEx(MouseHoocID, nCode, wParam, lParam)); }
public void SetMouseActionData(int nCode, int wParam, LowAPI.API_Structs.MouseLLHookStruct DataStruct) { mouseEvent = new MouseEvent(); mouseEvent.dwExtraInfo = DataStruct.dwExtraInfo; mouseEvent.flags = LowAPI.API_Conts.MOUSEEVENTF_ABSOLUTE; mouseEvent.mouseData = 0; mouseEvent.nCode = nCode; mouseEvent.wParam = 0; switch (wParam) { case 512: mouseEvent.flags = mouseEvent.flags | LowAPI.API_Conts.MOUSEEVENTF_MOVE; break; case 513: mouseEvent.flags = mouseEvent.flags | LowAPI.API_Conts.MOUSEEVENTF_LEFTDOWN; break; case 514: mouseEvent.flags = mouseEvent.flags | LowAPI.API_Conts.MOUSEEVENTF_LEFTUP; break; case 516: mouseEvent.flags = mouseEvent.flags | LowAPI.API_Conts.MOUSEEVENTF_RIGHTDOWN; break; case 517: mouseEvent.flags = mouseEvent.flags | LowAPI.API_Conts.MOUSEEVENTF_RIGHTUP; break; } mouseEvent.x = DataStruct.pt.x; // *(int)(65600 / 1280); mouseEvent.y = DataStruct.pt.y; // *(int)(65600 / 1024); }