/// <summary>
        /// Transmisja ruchu myszki
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="ea"></param>
        public void MouseMoveTransmission(object sender, MouseMoveActivityEventArgs ea)
        {
            var diffXasByte = ConvertIntToOffsetedByte(ea.DiffX);
            var diffYasByte = ConvertIntToOffsetedByte(ea.DiffY);

            byte[] byteArray = new byte[] { 80, diffXasByte, diffYasByte };         // 80 to kod znaku P
            AppObjects.PortService.SendBytes(byteArray, 0, 3);
        }
Example #2
0
        protected void OnMouseMoveActivity(MouseMoveActivityEventArgs e)
        {
            EventHandler <MouseMoveActivityEventArgs> handler = MouseMoveActivity;

            if (handler != null)
            {
                handler(this, e);
            }
        }
Example #3
0
        private IntPtr HookMouseCallbackImplementation(int nCode, IntPtr wParam, IntPtr lParam)
        {
            if (RemoteControlActive)
            {
                var wmMouse = (User32.MouseMessage)wParam;

                if (wmMouse == User32.MouseMessage.WM_MOUSEMOVE)
                {
                    User32.POINT lpPoint            = (User32.POINT)Marshal.PtrToStructure(lParam, typeof(User32.POINT));
                    MouseMoveActivityEventArgs args = new MouseMoveActivityEventArgs();
                    args.DiffX = lpPoint.x - baseMouseX;
                    args.DiffY = lpPoint.y - baseMouseY;
                    OnMouseMoveActivity(args);
                }

                if (wmMouse == User32.MouseMessage.WM_MOUSEWHEEL)
                {
                    User32.MSLLHOOKSTRUCT mSLLHOOKSTRUCT = (User32.MSLLHOOKSTRUCT)Marshal.PtrToStructure(lParam, typeof(User32.MSLLHOOKSTRUCT));
                    var wheelData = ((short)(mSLLHOOKSTRUCT.mouseData >> 16));
                    MouseWheelActivityEventArgs args = new MouseWheelActivityEventArgs();
                    args.RotationDown = (wheelData > 0) ? false : true;
                    OnMouseWheelActivity(args);
                }

                if (wmMouse == User32.MouseMessage.WM_LBUTTONDOWN)
                {
                    MouseButtonActivityEventArgs args = new MouseButtonActivityEventArgs();
                    args.IsPressed = true;
                    args.KeyCode   = KeyCode.LButton;
                    OnMouseButtonActivity(args);
                }

                if (wmMouse == User32.MouseMessage.WM_LBUTTONUP)
                {
                    MouseButtonActivityEventArgs args = new MouseButtonActivityEventArgs();
                    args.IsPressed = false;
                    args.KeyCode   = KeyCode.LButton;
                    OnMouseButtonActivity(args);
                }

                if (wmMouse == User32.MouseMessage.WM_RBUTTONDOWN)
                {
                    MouseButtonActivityEventArgs args = new MouseButtonActivityEventArgs();
                    args.IsPressed = true;
                    args.KeyCode   = KeyCode.RButton;
                    OnMouseButtonActivity(args);
                }

                if (wmMouse == User32.MouseMessage.WM_RBUTTONUP)
                {
                    MouseButtonActivityEventArgs args = new MouseButtonActivityEventArgs();
                    args.IsPressed = false;
                    args.KeyCode   = KeyCode.RButton;
                    OnMouseButtonActivity(args);
                }

                if (wmMouse == User32.MouseMessage.WM_MBUTTONDOWN)
                {
                    MouseButtonActivityEventArgs args = new MouseButtonActivityEventArgs();
                    args.IsPressed = true;
                    args.KeyCode   = KeyCode.MButton;
                    OnMouseButtonActivity(args);
                }

                if (wmMouse == User32.MouseMessage.WM_MBUTTONUP)
                {
                    MouseButtonActivityEventArgs args = new MouseButtonActivityEventArgs();
                    args.IsPressed = false;
                    args.KeyCode   = KeyCode.MButton;
                    OnMouseButtonActivity(args);
                }
                // bo nie puszczamy dalej, tylko wysłane zostało na port szeregowy
                return((IntPtr)1);
            }
            // puszczamy dalej (nie łapiemy) do obsługi
            return(User32.CallNextHookEx(globalMouseHookId, nCode, wParam, lParam));
        }