Как простое дополнение, поскольку я искал тот же ответ, чтобы не допустить, чтобы главное окно MSI перекрывало мое всплывающее окно:
var thatmsihandle = Process.GetCurrentProcess().Handle;
Простая обертка будет:
internal class WindowHandler
{
internal NativeWindow MainWindow { get; private set;}
internal WindowHandler()
{
MainWindow = new NativeWindow();
MainWindow.AssignHandle(Process.GetCurrentProcess().Handle);
}
internal void Dispose()
{
MainWindow.ReleaseHandle();
}
}
Спасибо за указатель, тем не менее сэкономил много времени!
РЕДАКТИРОВАТЬ: кажется, не работает на самом деле, старый добрый FindWindowA добился цели