Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/flutter/9.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# 如何使用user32.dll捕捉鼠标离开事件_C#_Mouseevent_User32 - Fatal编程技术网

C# 如何使用user32.dll捕捉鼠标离开事件

C# 如何使用user32.dll捕捉鼠标离开事件,c#,mouseevent,user32,C#,Mouseevent,User32,我正在使用user32.dll获取光标位置并模拟鼠标单击等。。我正在WPF应用程序中使用MouseLeave事件。但我想从所有窗口捕获鼠标离开(或鼠标悬停)事件(不仅仅在我的WPF应用程序中)。是否可以使用user32.dll或其他方法捕获此事件 有一个Windows API调用,允许获取鼠标事件,即使它们不在窗口中: 设置捕获(hWnd) 您可以将此功能与呼叫结合使用: WindowFromPoint() 要获取鼠标在哪个窗口上方我是这样做的 [DllImport("user32.dll")]

我正在使用user32.dll获取光标位置并模拟鼠标单击等。。我正在WPF应用程序中使用MouseLeave事件。但我想从所有窗口捕获鼠标离开(或鼠标悬停)事件(不仅仅在我的WPF应用程序中)。是否可以使用user32.dll或其他方法捕获此事件

有一个Windows API调用,允许获取鼠标事件,即使它们不在窗口中:

设置捕获(hWnd)

您可以将此功能与呼叫结合使用:

WindowFromPoint()

要获取鼠标在哪个窗口上方

我是这样做的

[DllImport("user32.dll")]
    static extern bool GetCursorPos(out Point lpPoint);

    void StartGettingCursorPos()
    {
        Task.Run(new Action(() =>
        {
            while (true)
            {
                GetCursorPos(out Point point);
                Console.WriteLine($"X:{point.X}; Y:{point.Y}");
                Thread.Sleep(20);
            }
        }));
    }

你能举个例子吗?