一种创建进程间COM来启动IE(也不一定是IE,现在很多IE内核的浏览器,也实现了这个服务接口)的方式。
另外,如果把空上进程间的方式改为进程内的方式,就是WebBrowser了
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
|
#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);
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;
} |