首页
社区
课程
招聘
[求助]如何用C语言实现实现webbrowers 的IDocHostUIHandler接口?
发表于: 2009-5-26 16:12 5993

[求助]如何用C语言实现实现webbrowers 的IDocHostUIHandler接口?

2009-5-26 16:12
5993
http://bbs.pediy.com//showthread.php?t=21988 -- (我用汇编写的浏览器源代码 )
看到刘前辈的帖子,对其技术水平十分佩服.

我碰到的问题是 用C语言实现webbrowers 的IDocHostUIHandler方法

下面给出了用C语言实现webbrowers 的IOleClientSite方法
// IOleClientSite接口 函数
HRESULT STDMETHODCALLTYPE Site_QueryInterface(IOleClientSite FAR* This, REFIID riid, void ** ppvObject);
HRESULT STDMETHODCALLTYPE Site_AddRef(IOleClientSite FAR* This);
HRESULT STDMETHODCALLTYPE Site_Release(IOleClientSite FAR* This);
HRESULT STDMETHODCALLTYPE Site_SaveObject(IOleClientSite FAR* This);
HRESULT STDMETHODCALLTYPE Site_GetMoniker(IOleClientSite FAR* This, DWORD dwAssign, DWORD dwWhichMoniker, IMoniker ** ppmk);
HRESULT STDMETHODCALLTYPE Site_GetContainer(IOleClientSite FAR* This, LPOLECONTAINER FAR* ppContainer);
HRESULT STDMETHODCALLTYPE Site_ShowObject(IOleClientSite FAR* This);
HRESULT STDMETHODCALLTYPE Site_OnShowWindow(IOleClientSite FAR* This, BOOL fShow);
HRESULT STDMETHODCALLTYPE Site_RequestNewObjectLayout(IOleClientSite FAR* This);

//用C语言实现虚表
IOleClientSiteVtbl MyIOleClientSiteTable = {Site_QueryInterface,
Site_AddRef,
Site_Release,
Site_SaveObject,
Site_GetMoniker,
Site_GetContainer,
Site_ShowObject,
Site_OnShowWindow,
Site_RequestNewObjectLayout};

_IOleClientSiteEx *_iOleClientSiteEx;

// 用 IOleClientSite 虚表指针初始化IOleClientSite 对象
_iOleClientSiteEx = (_IOleClientSiteEx *)(ptr + sizeof(IOleInPlaceFrameEx) + sizeof(IOleObject *));
_iOleClientSiteEx->client.lpVtbl = &MyIOleClientSiteTable;

//--------------IOleClientSite接口实现完成---------------------

我的问题是 如何用C语言实现实现webbrowers 的IDocHostUIHandler接口?IDocHostUIHandler  在哪个头文件中定义了?

[招生]科锐逆向工程师培训(2024年11月15日实地,远程教学同时开班, 第51期)

收藏
免费 0
支持
分享
最新回复 (0)
游客
登录 | 注册 方可回帖
返回
//