Пример #1
0
        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;
        }
Пример #2
0
        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;
                    }
                }
            }
        }