コード例 #1
0
        protected void OnMouseWheelActivity(MouseWheelActivityEventArgs e)
        {
            EventHandler <MouseWheelActivityEventArgs> handler = MouseWheelActivity;

            if (handler != null)
            {
                handler(this, e);
            }
        }
コード例 #2
0
        /// <summary>
        /// Transmisja ruchu kółkiem myszki
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="ea"></param>
        public void MouseWheelTransmission(object sender, MouseWheelActivityEventArgs ea)
        {
            byte actionByte;

            if (ea.RotationDown)
            {
                actionByte = (byte)'S';
            }
            else
            {
                actionByte = (byte)'s';
            }

            byte[] byteArray = new byte[] { actionByte };
            AppObjects.PortService.SendBytes(byteArray, 0, 1);
        }
コード例 #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));
        }