Exemple #1
0
        private void mouseUp(int x, int y, mouseButton mouseButton)
        {
            //現在のカーソル位置と引数に指定されたカーソル位置が異なる場合のみ、マウスカーソルの移動を行う
            setMouseCursor(x, y);

            //指定されたボタンをクリックする
            INPUT[] input = new INPUT[1];

            switch (mouseButton)
            {
            case mouseButton.left:
                input[0].inputUnion.mouseInput.dwFlags = MouseAction.MOUSEEVENTF_LEFTUP;
                break;

            case mouseButton.right:
                input[0].inputUnion.mouseInput.dwFlags = MouseAction.MOUSEEVENTF_RIGHTUP;
                break;

            case mouseButton.middle:
                input[0].inputUnion.mouseInput.dwFlags = MouseAction.MOUSEEVENTF_MIDDLEUP;
                break;

            default:
                break;
            }

            SendInput(1, input, Marshal.SizeOf(input[0]));
        }
 ///checking to see if you released the mouse guarentees you can't double click 
 ///something through to the next page
 internal bool DoneReleasedIt(mouseButton button)
 {
     switch (button) {
     case mouseButton.LEFT:
         return !left && prevLeft;
     case mouseButton.MIDDLE:
         return !mid && prevMid;
     case mouseButton.RIGHT:
         return !right && prevRight;
     default:
         throw new Exception("wtf");
     }
 }