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)

posted @ 2021-12-28 10:38  Lulus  阅读(413)  评论(0编辑  收藏  举报