C# WindowFromPoint在64位程序中无效

WindowFromPoint() 不需要两个参数,它只需要一个,POINT类型的结构。
在32位程序中可以以不同的方式传递参数,在64位模式下则不行,所以以下写法无效。

[DllImport("user32.dll")]
public static extern IntPtr WindowFromPoint(int xPoint, int yPoint);

正确写法如下:
Point=System.Drawing.Point

[DllImport("user32.dll")]
public static extern IntPtr WindowFromPoint(System.Drawing.Point point);

参考资料

WindowFromPoint doesn't work correctly on 64bit .NET Framework
WindowFromPoint function (winuser.h)
Create pageWindowFromPoint (user32)

学习技术最好的文档就是官方文档,没有之一。
还有学习资料Microsoft LearnCSharp LearnMy Note
如果,你认为阅读这篇博客让你有些收获,不妨点击一下右下角的推荐按钮。
如果,你希望更容易地发现我的新博客,不妨点击一下关注

原文地址:https://www.cnblogs.com/Lulus/p/15739663.html