Существует более простой метод, который поддерживается непосредственно .NET Framework без необходимости создания собственного пользовательского класса. Вы можете использовать это с любой произвольный дескриптор окна.
Дано ptrWindowHandle типа IntPtr :
using System.Windows.Forms;
NativeWindow nativeWindow = new NativeWindow();
nativeWindow.AssignHandle(ptrWindowHandle);
System.Windows.Forms.NativeWindow реализует интерфейс IWin32Window .