您的位置:首页 > 其它

webkit研究日记3:webkit api使用总结(如何打开webkit组件)

2014-03-28 08:54 288 查看
在windows下编译后的webkit dll使用的是com组件技术,所以使用webkit dll中的api传统的方法不行,必须使用com组件技术,如下:

/*使用全球唯一标识符(GUID)*/

typedef _com_ptr_t<_com_IIID<IWebView,&__uuidof(IWebView)>> IWebViewPtr;
IWebViewPtr gWebView;

int main()
{
IWebView *px = NULL;

/*webkit使用WebKitCreateInstance函数对类厂技术及CreateInstance函数进行了封装,  对CoCreateInstance技术进行了升级,CoCreateInstance函数具有不灵活性, 他没有给客户提供一种能够控制组件穿件过程的方法*/

HRESULThr = WebKitCreateInstance(CLSID_WebView, 0, IID_IWebView, (void **)&px);  //CLSID_WebView为组件GUID、IID_IWebView为接口的GUID

if  (FAILED(hr))
return-1;

IWebView*px2 = NULL;

/*测试:使用客户已经拥有的接口再次获得已经拥有的接口*/
hr= px->QueryInterface(IID_IWebView, (void **)&px2);
if  (px != px2)
{
cout<< "!=" << endl;
}
else
{
cout<< "==" << endl;
}

if  (FAILED(hr))
{
return-1;
}
else
{
px2->Release();
}

return0;
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: