精典的ASP传奇的J2EE新生的NETFTP服务器服务器安全WINDOWSB/S 模式WEB安全WAP世界动态网站推广宣传
空间服务器数据库技术邮局服务器站長工具硬设与组建Alexa专题DHTML项目管理WEB标准电脑硬件
病毒知识电脑使用布线协议接入交换路由局域网无线网络网络规划
Visual BasicVisual C/C++MssqlMySqloracleSybase 存在安全风险进程系统进程列表应用程序进程列表其它进程列表
黑客编程漏洞分析本地提权免杀技术脚本漏洞数据库注入安全防护内网渗透加密解密工具使用
WAP技术WAP入门
 您的位置:   >> 相关知识 >> 桌面应用程序 >> Visual Basic >>

嵌入IE的activex怎么才能获得IE地址栏中的URL

合金网络科技

 
  添加日期:2007-5-26 点击次数:144次  
   
  参考   
以下是引用片段:
  Q181678   HOWTO:   Retrieve   the   URL   of   a   Web   Page   from   an   ActiveX   Control     
  Q195188   PRB:   ActiveX   Control   Window   Is   Not   Created   Until   Visible   in   Internet   Explorer   
    
  ActiveX控件中访问文档对象模型   
  知识库文章Q172763   INFO:   Accessing   the   Object   Model   from   Within   an   ActiveX   Control   描述了这个问题的解决方案。可以看到,可以同样使用IOleClientSite来和IE这个控件容器交互。可以使用IOleClientSite::GetContainer得到网页所在HTML文档对象的IOleContainer接口,然后再查询其他接口,例如IHTMLDocument2来进行对DHTML对象模型的访问,或者用IMoniker获得网址。   
    
  ActiveX控件的WM_CREATE直到控件第一次可见的时候才被调用。WM_DESTORY在离开或者关闭页面的时候也没有被调用。在控件大小是0*0的时候也有同样的问题。如果你在这之前(例如window.onload事件的处理代码)中访问控件的窗口或者子窗口,那么不会成功   
    
  大多数ActiveX控件框架,例如MFC和ATL,在本地激活ActiveX控件时创建控件。IE直到控件第一次可见的时候才本地激活ActiveX控件。这使得包含ActiveX控件的网页载入更加迅速,占用内存更少。这也使得ActiveX控件的WM_CREATE直到控件第一次可见的时候才被调用。   
    
  如果控件支持非窗口激活,那么IE会以非窗口激活方式创建控件,这时候控件的WM_DESTORY不会被调用。   
    
  控件的IOleObject::SetClientSite()实现无论控件是否被本地激活都会被宿主调用。在初始化的时候,传递的指针是宿主的(IOleClientSite   接口指针,在清除的时候,传递的指针是空指针。可以根据这个指针来判断控件的状态,并且执行初始化或者清除的代码。 
  
    
  MFC   
   
以下是引用片段:
  MFC对IOleObject::SetClientSite()的实现包含对虚函数COleControl::OnSetClientSite()调用。这时候可以根据m_pClientSite是否为空指针来判断控件是被加载还是被清除。   
    
  //   CMyControl   is   derived   from   COleControl.   
  void   CMyControl::OnSetClientSite()   
  {   
  if   (m_pClientSite)   {   
              //   It   doesn|t   matter   who   the   parent   window   is   or   what   the   size   of     
              //   the   window   is   because   the   control|s   window   will   be   reparented     
              //   and   resized   correctly   later   when   it|s   in-place   activated.   
              VERIFY   (CreateControlWindow   (::GetDesktopWindow(),   CRect(0,0,0,0),   CRect(0,0,0,0)));   
              //   Obtain   URL   from   container   moniker.   
              CComPtr<IMoniker>   spmk;   
              LPOLESTR   pszDisplayName;   
    
              if   (SUCCEEDED(m_pClientSite->GetMoniker(   
                                                                          OLEGETMONIKER_TEMPFORUSER,   
                                                                          OLEWHICHMK_CONTAINER,   
                                                                          &spmk)))   
              {   
                    if   (SUCCEEDED(spmk->GetDisplayName(   
                                                                    NULL,   NULL,   &pszDisplayName)))   
                    {   
                          USES_CONVERSION;   
    
                          CComBSTR   bstrURL;   
                          bstrURL   =   pszDisplayName;   
    
                          ATLTRACE('The   current   URL   is   %s\n',   OLE2T(bstrURL));   
                          CoTaskMemFree((LPVOID)pszDisplayName);   
                    }   
    
  }   
  else   
  DestroyWindow();     
  COleControl::OnSetClientSite();   
  }   

精典的ASP精选TOP
· 利用ADODB.Stream 防盗链
· Adodb.Stream说明手册
· 采集需要登录
· ASP 判断远程图片是否存在
· 在ServerXMLHTTP组件中使用代理服务器
· 用XMLHTTP通过代理服务器从服务提取数据的一些问题
· objXML.readystate的值
· 互联网HTTP连接等出错代码大全
· 利用XMLHTTP实现的二级连动Select
· 利用 xmlhttp 分块上传文件
 
服务器安全点击TOP
· 新云最新漏洞总结篇
· 各类网站的默认数据库和密码
· Windows Server2003 防木马权限设置IIS服务器安全配置整理
· 针对ASP网站的Win 2003硬盘安全设置
· IIS 6 的PHP 最佳配置方法
· 利用SA.exe 将Iusr_victim克隆为Administrator
· Cmd模式下的入侵技术大全
· 破解网页代码加密
· SERV-U 6.4提权方法,通杀SERV-U版本
· 新云网站管理系统文件注入漏洞
 
硬设与组建点击TOP
· 从头到尾教你组建小型局域网20
· 从头到尾教你组建小型局域网19
· 从头到尾教你组建小型局域网18
· 从头到尾教你组建小型局域网17
· 从头到尾教你组建小型局域网16
· 从头到尾教你组建小型局域网15
· 从头到尾教你组建小型局域网14
· 从头到尾教你组建小型局域网13
· 从头到尾教你组建小型局域网12
· 从头到尾教你组建小型局域网11
 
病毒知识点击TOP
· 不再重装 手动清除顽固病毒AutoRUN
· 木马静态变动态 DLL木马程序大揭秘
· 详解一个很牛X的网马
· 一个网马
· Trojan-Downloader.Win32.Delf.bab
· 抓了一个AJAX的网马
· 迅雷5 最新0day利用程序
· 自动关掉270种杀毒软件
· RealPlayer 最新网马
· 五个反弹型后门的源代码
 
WINDOWS点击TOP
· 4【系统知识】常见文件扩展名及简要说明!!! ==超详尽==
· 3【系统知识】常见文件扩展名及简要说明!!! ==超详尽==
· 2【系统知识】常见文件扩展名及简要说明!!! ==超详尽==
· 1【系统知识】常见文件扩展名及简要说明!!! ==超详尽==
· Capture an HTML document as an image
· 如何给eWebEditor编辑器加上运行代码框功能
· 给CuteEditor5增加了高亮代码显示功能
· CuteEditor6.0使用配置心得体会
· 关于IE插件的CLSID问题
· 对开发的程序(制作CAB)进行签名,并允许网站中使用
  "凌风微型文章系统",针对"搜索引擎"完美设计,提高"搜索引擎"对网站容量,质量的评估值,"扁平化,转静态 ..."