Пример #1
0
        /// <summary>
        /// Transmisja naciśnięcia klawisza myszy
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="ea"></param>
        public void MouseButtonTransmission(object sender, MouseButtonActivityEventArgs ea)
        {
            string singleStringToSend;

            switch (ea.KeyCode)
            {
            case KeyCode.LButton:
                singleStringToSend = "L";
                break;

            case KeyCode.RButton:
                singleStringToSend = "R";
                break;

            case KeyCode.MButton:
                singleStringToSend = "M";
                break;

            default:
                return;     // wyjście bez dalszych akcji
            }
            if (!ea.IsPressed)
            {
                singleStringToSend = singleStringToSend.ToLower();
            }
            AppObjects.PortService.SendString(singleStringToSend);
        }
Пример #2
0
        protected void OnMouseButtonActivity(MouseButtonActivityEventArgs e)
        {
            EventHandler <MouseButtonActivityEventArgs> handler = MouseButtonActivity;

            if (handler != null)
            {
                handler(this, e);
            }
        }
Пример #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));
        }