@edg,
Я предполагаю, что это - ошибка в MSDN. Можно ясно видеть в Relfector, на который похожа регистрация "Главного окна".NET:
private bool IsMainWindow(IntPtr handle)
{
return (!(NativeMethods.GetWindow(new HandleRef(this, handle), 4) != IntPtr.Zero)
&& NativeMethods.IsWindowVisible(new HandleRef(this, handle)));
}
Когда код.NET перечисляет окна, довольно очевидно, что сначала видимое окно (т.е. высокоуровневое окно) будут соответствовать этому критерии.
На самом деле Процесс. MainWindowHandle является дескриптором самого верхнего окна, это не действительно "Дескриптор Главного окна"