如何绑定WebBrowser到程序?
Iluly 2006-11-14 04:42:11 目前,我要用纯c++写一个com应用的程序;
使用了CLSID_WebBrowser中的IWebBrowser 接口;
我知道的是WebBrowser 用Navigate()来打开网页,但是它在哪儿显示呢?
它会自己创建一个窗口吗?
或者还是要通过一个函数设定一个已存在的窗口;
但我找遍了MSDN 没有一个着样的put-函数;
而我每次都是先创建实例,然后马上调用Navigate();
不过总不能成功。
我看过别人写的程序,在vc下,都是在创建后直接调用的Navigate();
但是在bc,或dev-cpp下怎么就不行呢?
一下是我的部分源代码:
。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。
if(FAILED((hr=CoCreateInstance(CLSID_WebBrowser,NULL,CLSCTX_INPROC_SERVER,IID_IWebBrowser,(void **)&pweb)))){
MessageBox(hwnd,"FAILED TO CREATE INSTANCE","error",MB_OK);
return 0;
}
else {
MessageBox(hwnd,"ok success to createinstance","success",MB_OK);
}
strweb=SysAllocString(L"www.sina.com.cn");
if(FAILED((hr=pweb->Navigate(strweb,NULL,NULL, NULL,NULL)))){
//if(hr==E_INVALIDARG){
// MessageBox(hwnd,"参数不够","error",MB_OK);
// }
//else{
// if(hr==E_OUTOFMEMORY){
// MessageBox(hwnd,"out of memory ","error",MB_OK);
// }
MessageBox(hwnd,"failed to navigate","error",MB_OK);
}
}
。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。
每次总是弹出我不愿意看到的那个"failed to navigate"的消息框。
既然能成功的创建实例,为什么不能Nabigate呢?
望哪位高手指点一下!!