资讯   |   开发   |   选机中心   |   产品大全 | IBM | 惠普 | 联想 | 戴尔 | 苹果 | 神舟
更多: | 华硕 | 明基 | 方正 | 紫光 | TCL | 夏新 | 联宝 | 宏碁 | 七喜 | 长城 | 清华同方 | 海尔 | 三星 | 东芝 | 索尼 | 富士通 | LG | 技术 | ddnoon
当前位置:笔记本 > 软件开发 >
Advertisement
文章正文

高分求助,怎样通过ActiveX得到上一级网页的地址

类型:转载   责任编辑:asp.net   日期:2007/05/23


热门软件下载:


   

怎么通过Activex得到上一级网页的地址。  
  比如:  
  在网页A中点击了一个连接地址,打开了另外一个网页B,网页B中有一个ActiveX,这个ActiveX怎么能得到网页A的地址呢?

网友回答:

发表者:etre

SHDocVw::IShellWindowsPtr   m_spSHWinds=NULL;  
  if(m_spSHWinds   ==   NULL)  
  {  
  CoInitialize(NULL);  
  if(m_spSHWinds.CreateInstance(__uuidof(SHDocVw::ShellWindows))   !=   S_OK)  
  {  
  CoUninitialize();  
  return   ;  
  }  
  else  
  {  
  int   n   =   m_spSHWinds->GetCount();//当前打开IE的数目,包括文件夹吧  
  if(n>0)  
  {  
  for(long   i=0;   i<n;   i++)  
  {  
  variant_t   v   =   (long)i;  
  IDispatchPtr   spDisp   =   m_spSHWinds->Item(v);  
  SHDocVw::IWebBrowser2Ptr   spBrowser(spDisp);  
  if(spBrowser)  
  {  
  这里得到了IWebBrowser2接口了,就可以得到URL了  
  }  
  }  
  }else  
  ShellExecute(NULL,"Open",url,NULL,NULL,0);  
  }  
  m_spSHWinds.Release();  
  CoUninitialize();  
  }  
  以上的我在应用程序中成功了,不知道在activex中可以不,你试一下啊

发表者:jiangsheng

对了,你的网页如果是用脚本打开新的页面或者你打开了网络防火墙的话referrer可能不可用  
  用IHTMLWindow2::opener看看能不能访问原来的页面


 

 
热门推荐笔记本: IBM笔记本
相关文章:
笔记本相关:
IT技术文章:
webmaster:popbb@126.com   最佳浏览:1024X768 MSIE
©2007 popbb.net All Rights Reserved