Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/314.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 当调用鼠标事件时,WPF抛出PinVokesTack_C#_Wpf_Exception - Fatal编程技术网

C# 当调用鼠标事件时,WPF抛出PinVokesTack

C# 当调用鼠标事件时,WPF抛出PinVokesTack,c#,wpf,exception,C#,Wpf,Exception,这是我的代码,只要我调用mouse_事件(MOUSEEVENTF_LEFTDOWN,x,y,(long)0,(long)0);我收到PinvokesTack异常。有人知道为什么吗 [DllImport("user32.dll", CharSet = CharSet.Auto, CallingConvention = CallingConvention.StdCall)] public static extern void mouse_event(long dwFlags, lon

这是我的代码,只要我调用mouse_事件(MOUSEEVENTF_LEFTDOWN,x,y,(long)0,(long)0);我收到PinvokesTack异常。有人知道为什么吗

    [DllImport("user32.dll", CharSet = CharSet.Auto, CallingConvention = CallingConvention.StdCall)]
    public static extern void mouse_event(long dwFlags, long dx, long dy, long cButtons, long dwExtraInfo);

    [DllImport("user32.dll")]
    internal extern static int SetCursorPos(int x, int y);

    private const long MOUSEEVENTF_LEFTDOWN = 0x02;
    private const long MOUSEEVENTF_LEFTUP = 0x04;
    private const long MOUSEEVENTF_RIGHTDOWN = 0x08;
    private const long MOUSEEVENTF_RIGHTUP = 0x10;

    public void dragTest()
    {
        long x = 400;
        long y = 400;

        SetCursorPos((int)x, (int)y);

        mouse_event(MOUSEEVENTF_LEFTDOWN, x, y, (long)0, (long)0);

        x += 100;
        y += 100;

        SetCursorPos((int)x, (int)y);
        mouse_event(MOUSEEVENTF_LEFTUP, x, y, 0, 0);
    }

鼠标事件参数应为uint,且不长

[DllImport("user32.dll")]
static extern void mouse_event(uint dwFlags, uint dx, uint dy, uint dwData,
   UIntPtr dwExtraInfo);