bho可以获得URL,但是它是在用户访问URL是截取。
如果用户先打开一个网址,我想获得这时IE地址栏里的这个地址,那就不能通过截取信息来达到了。
该怎么做?因为我的BHO已经获得了URL,但是某些情况下我需要再次获得当前地址栏里的URL地址去BHO中寻找对应的信息。

解决方案 »

  1.   

    获得浏览器的地址,用IHTMLDocument2接口Sets or gets the URL for the current document. HRESULT IHTMLDocument2::get_URL(BSTR *p);HRESULT IHTMLDocument2::put_URL(BSTR v);
      

  2.   


    p
    Pointer to a variable of type BSTR that receives the URL.
    v
    BSTR that specifies the URL.
    Return ValueReturns S_OK if successful, or an error value otherwise. 
      

  3.   

    我不是要截取URL   而是获得IE浏览器上的URL
      

  4.   

    那就更加简单了,FindWindow("IEFrame",NULL)得到IE窗口的句柄
    然后FindWindowEx(hIE,"ToolbarWindow32",NULL)
    得到地址栏的句柄最后GetWindowText
      

  5.   

    HWND hIE=FindWindow("IEFrame",NULL);
    HWND hURL=FindWindowEx(hIE,NULL,"ToolbarWindow32",NULL)
    GetWindowText(hURL,str,100);
      

  6.   

    恩 是可以通过FindWindowEx 和spy++ 一步步找到IEFrame->WorkerW->....Edit的句柄。
    我想问一个问题:我怎么样实时获得用户在地址栏输入字符后的新的网址(没按回车,用户还在输入状态)?
    比如用户输入http://www.baid当其输入d后我要获得http://www.baid这些?