/// <summary> /// 构建鼠标点击事件,同时遍历iframe /// </summary> private void InspectMouseEvent() { mshtml.HTMLDocument htmlDoc = browser.WebbrowserObject.Document as mshtml.HTMLDocument; mshtml.DispHTMLDocument disp = htmlDoc as mshtml.DispHTMLDocument; DHTMLEventHandler onmousedownhandler = new DHTMLEventHandler(htmlDoc); onmousedownhandler.Handler += new DHTMLEvent(Mouse_Down); disp.onmousedown = onmousedownhandler; IHTMLElementCollection col = BrowserExtensions.GetFrames((IHTMLDocument2)htmlDoc); InspectFrameMouseEvent(col); }
private void InspectFrameMouseEvent(mshtml.IHTMLElementCollection fc) { if (fc == null) { return; } if (fc.length > 0) { for (int i = 0; i < fc.length; i++) { object id = (object)i; IHTMLWindow2 frameWindow = (IHTMLWindow2)fc.item(id, 0); mshtml.HTMLDocument frameDoc = (mshtml.HTMLDocument)frameWindow.document; mshtml.DispHTMLDocument frameDispDoc = (mshtml.DispHTMLDocument)frameDoc; DHTMLEventHandler onmousedownhand = new DHTMLEventHandler(frameDoc); onmousedownhand.Handler += new DHTMLEvent(Mouse_Down); frameDispDoc.onmousedown = onmousedownhand; IHTMLElementCollection col = BrowserExtensions.GetFrames((IHTMLDocument2)frameDoc); InspectFrameMouseEvent(col); } } }