Можно ли получить дескриптор формы (независимо от того, является ли это моя программа или нет) на основе положения (то есть положения мыши)?
Попробуйте:
[DllImport("user32.dll", EntryPoint = "WindowFromPoint")] static public extern IntPtr WindowFromPoint(Point Point);
и передайте Cursor.Position, чтобы получить указатель на текущее «видимое» окно.
Cursor.Position