有關於mfc webbrowser外掛程式的使用

來源:互聯網
上載者:User

標籤:webbrowser   mfc   vc   

最近寫的東西中常常需要嵌入一些瀏覽器,微軟提供了一個比較好的介面,可以在MFC寫的程式中嵌入一個簡易的瀏覽器,是以ActiveX外掛程式的形式提供的介面,使用起來也比較的方便,這裡我就簡單記錄下這個外掛程式的使用

這裡我用vc6為例吧,我的機器太爛,跑不動vs這種巨人層級的軟體。

首先建立一個對話方塊,在對話方塊上右擊插入ActiveX的外掛程式


可以看到微軟提供了很多ActiveX的外掛程式供我們選擇。


選中瀏覽器外掛程式確定後就能看到一個瀏覽器的ActiveX的外掛程式了,下面我們為他關聯一個變數m_test如


關聯好後在確定按鈕處填寫一個訊息響應。

m_test.Navigate("www.baidu.com",NULL,NULL,NULL,NULL);

用這個變數的一個成員函數開啟這個網址





關於WebBrowser幾個問題

1.關於如何取得這個網頁的內容

HRESULT hr;    IDispatch* lpDispatch;    lpDispatch = m_WebBrower.GetDocument();    IHTMLDocument2* lpDocument2;    hr = lpDispatch->QueryInterface(IID_IHTMLDocument2, (PVOID*)&lpDocument2);    if ( hr == S_OK )    {IHTMLElement * pBody;lpDocument2->get_body(&pBody);BSTR html;//存放html原始碼CComBSTR html_t;//用於將BSTR轉換為cout可以處理的字串pBody->get_innerHTML(&html);CString strCookie(html);CFile myfile("1.html",CFile::modeWrite|CFile::modeCreate);myfile.Write(strCookie,strCookie.GetLength());myfile.Close();pBody->Release();        lpDocument2->Release();    }    lpDispatch->Release();

2.有關於如何取得這個網頁的cookie

    HRESULT hr;    IDispatch* lpDispatch;    lpDispatch = m_WebBrower.GetDocument();    IHTMLDocument2* lpDocument2;    hr = lpDispatch->QueryInterface(IID_IHTMLDocument2, (PVOID*)&lpDocument2);    if ( hr == S_OK )    {        hr = lpDocument2->get_cookie(&bstrCookie);        if ( hr == S_OK )        {CString strCookie(bstrCookie);CFile myfile("1.txt",CFile::modeWrite|CFile::modeCreate);myfile.Write(strCookie,strCookie.GetLength());myfile.Close();//::MessageBox(NULL, strCookie,"當前Cookie", MB_ICONINFORMATION);  }lpDocument2->put_cookie(NULL);pBody->Release();        lpDocument2->Release();    }    lpDispatch->Release();

3.關於一些訊息映射

往往我們要等待網頁載入完成才能進行一些操作,微軟為我們提供了豐富的訊息映射,在ClassWizard中可以看到


就寫到這裡吧,用到的時候再去研究。

菜鳥言論,僅供娛樂!

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.