1

Sendinputメソッドを使用するときにマウスポインタの速度を制御することは可能ですか?

たとえば、これは私のコードです:

    public static void ClickMouseDOWN(int x, int y)
    {
        INPUT mouseInput = new INPUT();
        mouseInput.type = (int)InputType.INPUT_MOUSE;
        mouseInput.mi.dx = CalculateAbsoluteCoordinateX(x);
        mouseInput.mi.dy = CalculateAbsoluteCoordinateY(y);
        mouseInput.mi.mouseData = 0;

// mouse teleports instantly
            mouseInput.mi.dwFlags = (int)MOUSEEVENTF.MOVE | (int)MOUSEEVENTF.ABSOLUTE;
            SendInput(1, new INPUT[] { mouseInput }, Marshal.SizeOf(mouseInput));
// mouse teleports instantly

        mouseInput.mi.dwFlags = (int)MOUSEEVENTF.LEFTDOWN;
        SendInput(1, new INPUT[] { mouseInput }, Marshal.SizeOf(mouseInput));

    }

次のコードは、MouseMovement + Mouse Button Press(down)コマンドを実行しますが、問題は、ポインターが一定の速度で移動するのではなく、位置(int x、int y)でテレポートすることです。

その速度を制御できるようにしたいと思います。

4

1 に答える 1

-1

答えが見つからなかったので、最終的にはネイティブメソッドを使用する必要がありました。

Cursor.Position = new Point(x, y);

Thread.Sleep(Z)カーソルを新しい位置に移動するときに指定できます

于 2012-10-29T09:59:34.377 に答える