簡単なテストプログラムをC#と.NET4.0で作成しました。
[DllImport("user32.dll")]
static extern IntPtr WindowFromPoint(int xPoint, int yPoint);
Point pt = MousePosition;
IntPtr w = WindowFromPoint(pt.X, pt.Y);
これが32ビットとして構築されている場合は、機能します。ただし、64ビットとしてビルドする場合は、無関係のウィンドウハンドルが返されます。解決策や代替案はありますか?