一种创建进程间COM来启动IE的方式

一种创建进程间COM来启动IE(也不一定是IE,现在很多IE内核的浏览器,也实现了这个服务接口)的方式。

另外,如果把空上进程间的方式改为进程内的方式,就是WebBrowser了

#include <windows.h>
#include <exdisp.h>
#include <assert.h>
#includeusing namespace std;
 
int main()
{
    HRESULT hr;
    IWebBrowser2 *pWebBrowser2 = NULL;
 
    OleInitialize(NULL);
 
 
    hr = CoCreateInstance(CLSID_InternetExplorer,NULL, CLSCTX_LOCAL_SERVER,
        IID_IWebBrowser2, (void**)&pWebBrowser2);
    assert(SUCCEEDED(hr));
 
    VARIANT vEmpty;
    VariantInit(&vEmpty);
    BSTR bstrURL = SysAllocString(L"http://www.codingsky.com");
    hr = pWebBrowser2->Navigate(bstrURL, &vEmpty, &vEmpty, &vEmpty, &vEmpty);
    if (SUCCEEDED(hr))
    {
        pWebBrowser2->put_Visible(VARIANT_TRUE);
        //pWebBrowser2->put_FullScreen(VARIANT_TRUE);
        //pWebBrowser2->put_Width(200);
        Sleep(3000);
        pWebBrowser2->Refresh();
        pWebBrowser2->GoHome();
 
    }
    else
    {
        pWebBrowser2->Quit();
    }
    SysFreeString(bstrURL);
    pWebBrowser2->Release();
 
    OleUninitialize();
    return 0;
}

  

 

posted @ 2014-01-19 16:19  代码人  阅读(500)  评论(0编辑  收藏  举报