一个难题:关于OCX控件在IE中取得所在页面的URL.

zhuangzl 2006-02-24 02:22:38
以下为在网上找到的例子,但出错.

HRESULT hrResult = S_FALSE;
IOleClientSite *pClientSite = NULL;
IMoniker* pMoniker = NULL;
LPOLESTR sDisplayName;

pClientSite = GetClientSite(); //出错, 返加NULL值

hrResult = pClientSite ->GetMoniker(OLEGETMONIKER_TEMPFORUSER,
OLEWHICHMK_CONTAINER,
&pMoniker);
if(SUCCEEDED(hrResult))
{
hrResult = pMoniker->GetDisplayName(NULL,
NULL,
&sDisplayName);
pMoniker->Release();
}

望高手能指点。
...全文
173 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
Kudeet 2006-03-28
  • 打赏
  • 举报
回复
http://topic.csdn.net/t/20041028/20/3501110.html
viewerviewer 2006-03-28
  • 打赏
  • 举报
回复
参考:
http://community.csdn.net/Expert/topic/4554/4554463.xml?temp=.1101801
neilxp 2006-02-24
  • 打赏
  • 举报
回复
CComPtr<IOleContainer> spContainer;
spClientSite->GetContainer(&spContainer);
CComQIPtr<IHTMLDocument2, &IID_IHTMLDocument2> spDoc(spContainer);
if (spDoc)
{
BSTR bstrDomain;
if(SUCCEEDED(spDoc->get_domain(&bstrDomain)))
{

bstrDomain就是网址了
}
}

3,245

社区成员

发帖
与我相关
我的任务
社区描述
ATL,Active Template Library活动(动态)模板库,是一种微软程序库,支持利用C++语言编写ASP代码以及其它ActiveX程序。
社区管理员
  • ATL/ActiveX/COM社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧