public void Destroy() { if (ieInstance != null) { try { Marshal.ReleaseComObject(ieInstance); } catch { } } if (_browser != null) { _browser.Dispose(); } if (testHelp != null) { testHelp.Dispose(); } testHelp = null; _browser = null; host = null; ieInstance = null; _mainHWND = IntPtr.Zero; }
private void CheckUIHostRegistration() { lock (_uiHostRegisteredLock) { if (testHelp != null) { testHelp.StartInfo = this.StartInfo; } if (isUIHostRegistered || ieInstance == null) { return; } ICustomDoc cDoc = ieInstance.Document as ICustomDoc; IOleObject oleObj = ieInstance.Document as IOleObject; if (oleObj != null && cDoc != null) { IOleClientSite clientSite = null; oleObj.GetClientSite(ref clientSite); if (cDoc != null) { _browser = new BrowserIEImpl(ieInstance, _mainHWND, _canvasHWND); testHelp = new IETestHelp(clientSite as IDocHostUIHandler, _browser, host); cDoc.SetUIHandler(testHelp); isUIHostRegistered = true; } } } }