public override void ExecuteCommand(string userId, string command) { ClientMouseCmd mouseData = deserialize.Deserialize <ClientMouseCmd>(command); if (mouseData == null) { return; } InputConstants.MOUSEINPUT mouseInput = new InputConstants.MOUSEINPUT(); mouseInput.dx = mouseData.data.dx; mouseInput.dy = mouseData.data.dy; mouseInput.mouseData = mouseData.data.mouseData; mouseInput.dwFlags = mouseData.data.dwFlags; mouseInput.time = mouseData.data.time; mouseInput.dwExtraInfo = UIntPtr.Zero; // create input object InputConstants.INPUT input = new InputConstants.INPUT(); input.type = InputConstants.MOUSE; input.mkhi = new InputConstants.MouseKeyboardHardwareInputUnion() { mi = mouseInput, }; // send input to Windows InputConstants.INPUT[] inputArray = new InputConstants.INPUT[] { input }; uint result = NativeMethods.SendInput(1, inputArray, System.Runtime.InteropServices.Marshal.SizeOf(input)); }
public void ControlServerMouse(int x, int y, uint mouseData, uint flag) { ClientMouseCmd mouseCmd = new ClientMouseCmd(); mouseCmd.data = new ClientMouseCmd.MouseData { dx = x, dy = y, mouseData = mouseData, dwFlags = flag, time = 0, dwExtraInfo = 0 }; connectionMgr.BroadcastMessage( (int)CommandConst.MainCommandClient.ControlInfo, (int)CommandConst.SubCommandClient.Mouse, mouseCmd); }