public BrowserWrapperControl(GetHiddenDriver getHiddenDriver, string processName) { var window = IntPtr.Zero; void SetWindow(IntPtr value) { window = value; } IntPtr GetWindow() { return(window); } if (!ContainerPanel.IsHandleCreated) { ContainerPanel.CreateControl(); } var invoke = getHiddenDriver?.Invoke(out DriverService, ContainerPanel.Handle, SetWindow); WebDriver = invoke?.Item2; //var windows = WebDriver?.WindowHandles.Select(e => long.Parse(e)).ToArray(); Thread = invoke?.Item1; var processById = BrowserUtility.GetBrowserProcess(GetWindow, processName); Process = processById; KillProcessOnClose = false; Loaded += Window_Loaded; }