首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > C++ Builder >

开发的OCX怎么获取当前网页的地址

2012-02-27 
开发的OCX如何获取当前网页的地址?开发的OCX(用于Web的OCX),当客户端打开含有自主开发的OCX网页,OCX如何获

开发的OCX如何获取当前网页的地址?
开发的OCX(用于Web的OCX),当客户端打开含有自主开发的OCX网页,OCX如何获取当前打开的网页的地址?

搜索了相关资料,只得到VC下的OCX这方面资料(http://blog.csdn.net/jiangsheng/archive/2001/08/28/3786.aspx)。

可是觉得这资料在BCB中应用有些困难,这里跪求这方面坛友解决办法!

[解决办法]
可以实现的,分太少...,贴下代码吧,看不懂就算了,解释起来很麻烦...

C/C++ code
// 获取页面的 IHTMLDocument2 指针IHTMLDocument2* __fastcall TLesWebXImpl::GetHTMLDocument2(void){  IHTMLDocument2* iDoc=NULL;  try {    if(m_spClientSite!=NULL) {      CComPtr<IOleContainer> iOct(NULL);      OleCheck(m_spClientSite->GetContainer(&iOct));      OleCheck(iOct->QueryInterface(IID_IHTMLDocument2, (void**)&iDoc));    }  }  catch(...) {    iDoc=NULL;  }  if(iDoc!=NULL) return iDoc;  try {    if(m_spUnkSite!=NULL) {      CComQIPtr<IServiceProvider,&IID_IServiceProvider> iSpv(m_spUnkSite);      if(iSpv!=NULL) {        CComPtr<IHTMLWindow2> iHmw(NULL);        OleCheck(iSpv->QueryService(SID_SHTMLWindow, IID_IHTMLWindow2,                                          (void**)(&iHmw)));        if(iHmw!=NULL)          OleCheck(iHmw->get_document(&iDoc));      }    }  }  catch(...) {    iDoc=NULL;  }  return iDoc;}......// 通过 IHTMLDocument2 指针获取 URLAnsiString __fastcall TLesWebXImpl::GetPageURL(void){  AnsiString s("");  CComPtr<IHTMLDocument2> iDoc(GetHTMLDocument2());  if(iDoc==NULL) return s;  try {    CComBSTR url("");    OleCheck(iDoc->get_URL(&url));    s=AnsiString(url.Copy());  }  catch(...) { s=""; }  return s;} 

热点排行