public static IntPtr GetMainWindow(uint aThreadId, string aClassName = null) { IntPtr win = IntPtr.Zero; Window.EnumThreadWindows(aThreadId, (W, _) => { if (Window.IsWindowVisible(W) && (win == null || (aClassName != null && Window.GetClassName(W) == aClassName))) win = W; return true; }, IntPtr.Zero); return win; }