【100分】怎样获得浏览器IE和FireFox的中的地址栏中URL,完整解决了再加分
大概的流程或者给出源码,在MFC或SDK下都可以

解决方案 »

  1.   

    网络编程
    让应用程序从IE中获取键入的网址 
     
    转自:www.csdn.net
     
    文章正文  
    前些时候,朋友想做一个小共享软件,软件的主要作用是阻止用户进入某些网站,他的设想是从IE的地址栏中获取键入的网址,如果这个网址非法的话,则不可以进入,代码如下: HWND hwnd=::FindWindow(_T("IEFrame"),NULL);
      if(hwnd)
     {
        HWND hwnd2=::FindWindowEx(hwnd,NULL,_T("Edit"),NULL);
       char sz[255];
      ::SendMessage(hwnd2,WM_GETTEXT,255,(LPARAM)sz);
      AfxMessageBox(sz);
     }结果发现不能得到正确的结果,从SPY上看,类名也全部是正确的,为什么不能得到正确的结果呢?看了他的代码后,我进行了如下改动,就可以得到正确的结果了:HWND hwnd=::FindWindow(_T("IEFrame"),NULL);
     if(hwnd)
     {
      HWND hwnd2=::FindWindowEx(hwnd,NULL,_T("WorkerW"),NULL);
      HWND hwnd3=::FindWindowEx(hwnd2,NULL,_T("ReBarWindow32"),NULL);
      HWND hwnd4=::FindWindowEx(hwnd3,NULL,_T("ComboBoxEx32"),NULL);
      HWND hwnd5=::FindWindowEx(hwnd4,NULL,_T("ComboBox"),NULL);
      HWND hwnd6=::FindWindowEx(hwnd5,NULL,_T("Edit"),NULL);   char sz[255];
      ::SendMessage(hwnd6,WM_GETTEXT,255,(LPARAM)sz);
      AfxMessageBox(sz);
     }
    }  以上的代码不用我解释了吧,这个问题不是什么大问题,难度也不大,但是可能会让初学者不明白为什么得不到程序某一控件的HANDLE,其实对VC来说,没有什么办不到的事情,只是需要你仔细的分析一下而已 
    --------------------------------------------------------------------------------
    CSDN VC编程经验总结 
    lz可以自己下一下这个电子书
      

  2.   

    楼上的说在IE中科一  我主要在Firefox中获得地址栏的数据?
      

  3.   

    最容易的办法是做IE和FF的插件,通过访问DOM的方式来获取URL地址,当然需要了解更多的接口细节,IE插件最好的参考文档是MSDN,各种接口非常详细,FF插件需要下载SDK,同时了解COMXP,其实原理跟IE都是类似的
      

  4.   

    主要针对FireFox
      

  5.   


    主要针对FireFox 无法获取ff的句柄啊
      

  6.   

    最简单的方法:枚举窗口,窗口内容FireFox没试过,你自己用SPY++看看吧
      

  7.   


    用Spy++找不到firefox句柄啊 IE的还可以
      

  8.   

    对IE可以  对FireFox不可以~!
      

  9.   

    想解释,但是无从下手,xpcom不是几句话能说清楚的
      

  10.   

    不能枚举窗口的话
    试试截取HTTP协议,再把各段拼成你的URL,比如Get段,HOST段...
      

  11.   

    http://download.csdn.net/source/1892438