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"); } }