小男孩‘自慰网亚洲一区二区,亚洲一级在线播放毛片,亚洲中文字幕av每天更新,黄aⅴ永久免费无码,91成人午夜在线精品,色网站免费在线观看,亚洲欧洲wwwww在线观看

分享

使用Webbrowser的一點(diǎn)心得體會(huì)--seimd的時(shí)空博客

 ShangShujie 2008-07-13

使用Webbrowser的一點(diǎn)心得體會(huì)

        自從用上VS2005后,發(fā)現(xiàn)多了個(gè)WebBrowser控件(.net 2003中不帶),為圖方便吧,有好多小工具就用這個(gè)寫的,慢慢也有點(diǎn)體會(huì)了,總結(jié)一下,與網(wǎng)友們共享吧。
        1、如何獲得“打開網(wǎng)頁出錯(cuò)”信息
        在DocumentCompleted事件中,判斷Document.Url.AbsoluteUri中的"res://":標(biāo)志即可(以前總用e.Url,怪不得總截取不到)
            if (webBrowser1.Document.Url.AbsoluteUri.IndexOf("res://") > -1)      //出錯(cuò)處理
            {
                   webBrowser1.Navigate(e.Url);
                   return;
            }
        2、如何使用IHTMLDocument2等MSHTML功能
        VS2005 中沒有完全封裝MSHTML中的功能,留了個(gè)DomDocument接口。直接引用Microsoft HTML Object Library類庫后,就可以操作IHTMLDocument2等復(fù)雜的功能了。                如:IHTMLDocument2 doc2 = (IHTMLDocument2)webBrowser1.Document.DomDocument;
        3、如何提取網(wǎng)頁中的圖片,尤其是驗(yàn)證碼圖等以流方式返回的圖片
        很多網(wǎng)站一些圖片是動(dòng)態(tài)生成了,是從服務(wù)器以流方式一點(diǎn)點(diǎn)發(fā)過來再組裝成圖片的。不管是以什么方式,到了客戶端,都是完整的。用WebBrowser的好處就在這里,只要管住最終結(jié)果就OK了。以下是得到網(wǎng)頁上驗(yàn)證碼的代碼:

               /// <summary>
        /// 返回指定WebBrowser中圖片<IMG></IMG>中的圖內(nèi)容
        /// </summary>
        /// <param name="WebCtl">WebBrowser控件</param>
        /// <param name="ImgeTag">IMG元素</param>
        /// <returns>IMG對象</returns>
       private Image GetWebImage(WebBrowser WebCtl, HtmlElement ImgeTag)
        {
            HTMLDocument doc = (HTMLDocument)WebCtl.Document.DomDocument;
            HTMLBody body = (HTMLBody)doc.body;
            IHTMLControlRange rang = (IHTMLControlRange)body.createControlRange();
            IHTMLControlElement Img = (IHTMLControlElement)ImgeTag.DomElement; //圖片地址

            Image oldImage = Clipboard.GetImage();
            rang.add(Img);
            rang.execCommand("Copy", false, null);  //拷貝到內(nèi)存
            Image numImage = Clipboard.GetImage();  //從 Clipboard中取圖
             Clipboard.SetImage(oldImage);     //還原
            return numImage;
        }


        4、如何屏蔽掉Alert()類型的彈出窗口
        首 先申明這不是技術(shù),只是一種處理的技巧。網(wǎng)上查了很多資料,對于網(wǎng)頁中彈出Alert()窗口不好屏蔽(尤其是Writer出來的)。我的方法是做兩個(gè) EXE,一個(gè)為主程序.exe,一個(gè)Run.exe。WebBrowser控件放在RUN.exe中,在主程序中通過Process調(diào)用RUN.exe, 而用在執(zhí)行完任務(wù)后,將RUN.exe殺掉(Kill),這時(shí)Alert窗口會(huì)自動(dòng)關(guān)閉。我用這種技巧做了好了個(gè)投票機(jī),可以安靜的運(yùn)行,還能回避 Session處理等問題,也不會(huì)在桌面上留下一堆窗口。

    本站是提供個(gè)人知識管理的網(wǎng)絡(luò)存儲(chǔ)空間,所有內(nèi)容均由用戶發(fā)布,不代表本站觀點(diǎn)。請注意甄別內(nèi)容中的聯(lián)系方式、誘導(dǎo)購買等信息,謹(jǐn)防詐騙。如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請點(diǎn)擊一鍵舉報(bào)。
    轉(zhuǎn)藏 分享 獻(xiàn)花(0

    0條評論

    發(fā)表

    請遵守用戶 評論公約

    類似文章 更多