Esempio n. 1
0
            /// <summary>
            /// Converts the internal MouseMessage enum to GHMouseButtons enumeration.
            /// </summary>
            /// <param name="button">The MouseMessage argument that was passed on by the InternalGlobalMouseHook to the MouseEvent event.</param>
            /// <param name="mouseData">(Optional) For an X Button Down or Up, we need to retrieve which X Button was pressed and the information is stored on the mouseData variable.</param>
            /// <returns></returns>
            GHMouseButtons MouseMessageToGHMouseButton(InternalGlobalMouseHook.MouseMessages button, uint mouseData = 0)
            {
                switch (button) //We need to check which button was pressed and we need to return the associated GHMouseButton enumeration.
                {
                case InternalGlobalMouseHook.MouseMessages.WM_LBUTTONDOWN:
                    return(GHMouseButtons.Left);

                case InternalGlobalMouseHook.MouseMessages.WM_LBUTTONUP:
                    return(GHMouseButtons.Left);

                case InternalGlobalMouseHook.MouseMessages.WM_MBUTTONDOWN:
                    return(GHMouseButtons.Middle);

                case InternalGlobalMouseHook.MouseMessages.WM_MBUTTONUP:
                    return(GHMouseButtons.Middle);

                case InternalGlobalMouseHook.MouseMessages.WM_RBUTTONDOWN:
                    return(GHMouseButtons.Right);

                case InternalGlobalMouseHook.MouseMessages.WM_RBUTTONUP:
                    return(GHMouseButtons.Right);

                case InternalGlobalMouseHook.MouseMessages.WM_XBUTTONDOWN:
                    if ((InternalGlobalMouseHook.XButtons)Helper.GetUnsignedHWORD(mouseData) == InternalGlobalMouseHook.XButtons.WM_XBUTTON1)     //The high order word stored in mouseData tells us which button was clicked. We need to get that by using the GetUnsignedHWord helper method.
                    {
                        return(GHMouseButtons.XButton1);
                    }
                    else
                    {
                        return(GHMouseButtons.XButton2);
                    }

                case InternalGlobalMouseHook.MouseMessages.WM_XBUTTONUP:
                    if ((InternalGlobalMouseHook.XButtons)Helper.GetUnsignedHWORD(mouseData) == InternalGlobalMouseHook.XButtons.WM_XBUTTON1)
                    {
                        return(GHMouseButtons.XButton1);
                    }
                    else
                    {
                        return(GHMouseButtons.XButton2);
                    }

                default:
                    return(GHMouseButtons.None);
                }
            }
Esempio n. 2
0
 public GlobalMouseHookEventArgs(InternalGlobalMouseHook.MouseMessages mouseMessages, InternalGlobalMouseHook.MSLLHOOKSTRUCT mouseData)
 {
     MouseMessages = mouseMessages;
     MouseData     = mouseData;
 }