void MoveCursorAbsolute(int x, int y) { WinCursorClient.POINT p = new WinCursorClient.POINT(); p.x = Convert.ToInt16(x); p.y = Convert.ToInt16(y); WinCursorClient.ClientToScreen(WinCursorClient.GetDesktopWindow(), ref p); WinCursorClient.SetCursorPos(p.x, p.y); }
private void Form1_Load(object senderl, EventArgs el) { mgr = new MouseGestureRecognition2(); doubleClickTimer = new System.Timers.Timer(); loopTimer = new System.Timers.Timer(); stopwatchTimer = new System.Diagnostics.Stopwatch(); System.Console.Out.WriteLine("Started program."); wsHandle = new WebSocket("ws://167.114.242.19/"); // dodanie funkcji callback wsHandle.OnMessage += OnMessage; wsHandle.OnClose += OnClose; wsHandle.OnError += OnError; wsHandle.OnOpen += OnOpen; // pobranie pozycji myszy WinCursorClient.POINT cursorPos = new WinCursorClient.POINT(); WinCursorClient.GetCursorPos(ref cursorPos); posX = (double)cursorPos.x; posY = (double)cursorPos.y; // połączenie z serwerem EstablishConnection(); // timer obsługujący podwójne kliknięcie doubleClickTimer = new System.Timers.Timer(); doubleClickTimer.AutoReset = false; doubleClickTimer.Elapsed += (object sender, System.Timers.ElapsedEventArgs e) => { WinCursorClient.POINT p = new WinCursorClient.POINT(); WinCursorClient.GetCursorPos(ref p); WinCursorClient.mouse_event(WinCursorClient.MOUSEEVENTF_LEFTDOWN | WinCursorClient.MOUSEEVENTF_LEFTUP, (uint)p.x, (uint)p.y, 0, (System.UIntPtr) 0); }; // timer obsługujący usługę rozpoznawania gestów mgrTimer = new System.Timers.Timer(); int delay = 2; mgrTimer.Interval = delay; mgrTimer.Elapsed += (object sender, System.Timers.ElapsedEventArgs e) => { mgr.TimerTick(delay); }; // mgrTimer.Enabled = true; // timer obsługujący wyliczanie prędkości loopTimer.Interval = 30; loopTimer.Elapsed += LoopTimerTick; loopTimer.Start(); stopwatchTimer.Start(); prevTicks = stopwatchTimer.ElapsedTicks; }
void TriggerClick(string type) { WinCursorClient.POINT p = new WinCursorClient.POINT(); WinCursorClient.GetCursorPos(ref p); switch (type) { case "left": WinCursorClient.mouse_event(WinCursorClient.MOUSEEVENTF_LEFTDOWN | WinCursorClient.MOUSEEVENTF_LEFTUP, (uint)p.x, (uint)p.y, 0, (System.UIntPtr) 0); break; case "right": WinCursorClient.mouse_event(WinCursorClient.MOUSEEVENTF_RIGHTDOWN | WinCursorClient.MOUSEEVENTF_RIGHTUP, (uint)p.x, (uint)p.y, 0, (System.UIntPtr) 0); break; case "doubleLeft": WinCursorClient.mouse_event(WinCursorClient.MOUSEEVENTF_LEFTDOWN | WinCursorClient.MOUSEEVENTF_LEFTUP, (uint)p.x, (uint)p.y, 0, (System.UIntPtr) 0); doubleClickTimer.Start(); break; } }