代码大致如下:#include <windows.h>
#include <comdef.h>
#include <exdisp.h>int APIENTRY WinMain(HINSTANCE hInstance,
HINSTANCE hPrevInstance,
LPSTR lpCmdLine,
int nCmdShow )
{
HRESULT hResult;
IWebBrowser2* pWebBrowser = NULL;
char strUrl[] = "www.csdn.net";
_variant_t varUrl; // 初期化
if (FAILED(OleInitialize(NULL))) return -1; // Instance作成
if (FAILED(hResult = CoCreateInstance(CLSID_InternetExplorer, NULL, CLSCTX_SERVER, IID_IWebBrowser2,
(LPVOID*)&pWebBrowser))){
OleUninitialize();
return -1;
} // 显示
pWebBrowser->put_Visible(VARIANT_TRUE); // URL的连接
varUrl = (char*)strUrl;
pWebBrowser->Navigate2(&varUrl, NULL, NULL, NULL, NULL); if (pWebBrowser) pWebBrowser->Release(); OleUninitialize(); return 0;
}
能打开IE,但是无法连接上指定的URL,为什么呀?请高手指教!
#include <comdef.h>
#include <exdisp.h>int APIENTRY WinMain(HINSTANCE hInstance,
HINSTANCE hPrevInstance,
LPSTR lpCmdLine,
int nCmdShow )
{
HRESULT hResult;
IWebBrowser2* pWebBrowser = NULL;
char strUrl[] = "www.csdn.net";
_variant_t varUrl; // 初期化
if (FAILED(OleInitialize(NULL))) return -1; // Instance作成
if (FAILED(hResult = CoCreateInstance(CLSID_InternetExplorer, NULL, CLSCTX_SERVER, IID_IWebBrowser2,
(LPVOID*)&pWebBrowser))){
OleUninitialize();
return -1;
} // 显示
pWebBrowser->put_Visible(VARIANT_TRUE); // URL的连接
varUrl = (char*)strUrl;
pWebBrowser->Navigate2(&varUrl, NULL, NULL, NULL, NULL); if (pWebBrowser) pWebBrowser->Release(); OleUninitialize(); return 0;
}
能打开IE,但是无法连接上指定的URL,为什么呀?请高手指教!
用Navigate一样的结果:(
你直接这么写呢?
pWebBrowser->Navigate2(_variant_t("http://www.csdn.net"), NULL, NULL, NULL, NULL);
COleVariant vHeaders((LPCTSTR)NULL, VT_BSTR);
COleVariant vTargetFrameName((LPCTSTR)NULL, VT_BSTR);
COleVariant vFlags((long)0, VT_I4); pWebBrowser->Navigate2(vURL,
vFlags, vTargetFrameName, vPostData, vHeaders);
试过了,一样to czy412(我想飞!但我没翅膀,唉!)
点击右键什么也出不来,好像打开了一个很初期的IE(并且不是空白页"about:blank"),直接写上去也是一个效果。
varUrl = _variant_t(strUrl); //modification
pWebBrowser->Navigate2(&varUrl, NULL, NULL, NULL, NULL);
我想问题不在这里,那两句话是等价的。