再开一贴,求解。Wininet API问题?想用api hook技术实现把网页内容汉化后返回ie浏览器。类似洪恩在线翻译的功能,高手给个思路,谢谢!
另外,ie浏览器都是从cache里取出内容再做显示吗?

解决方案 »

  1.   

    goodboyws(深夜不眠者) ( ) ,谢谢。
    我看了BHO的一些文档,好像是可以解决我的问题。不过不知道如何着手。
    registereventhandle -->documentcomplete 连接点?
    请熟悉这块的帮忙提个思路。
      

  2.   

    about BHO you can search msdn example "IEHelper",search previous topic talking about BHO
      

  3.   

    kingzai(stevenzhu) ( ) ,谢谢!
    我按你的办法查了msdn,索引为bho,结果找到一篇文章,里面有显示html原文内容的方法,不过我不敢确信能不能把改内容翻译好sethtml回ie explore。
      

  4.   

    请熟悉用BHO解决此问题的大虾继续提示,主要在事件响应能否得到内容buffer指针和能否改写改指针所指内容,返回供更新汉化后的显示。
      

  5.   

    BHO,实现IObjectWithSite,重载SetSite,拿到IWebBrowser2接口,然后IWebBrowser2::get_Document拿到一个IDispatch,然后QueryInterface变成IHTMLDocument3,然后调用IHTMLDocument3::get_documentElement得到顶级的Element,然后QueryInterface变成IHTMLDOMNode节点,然后遍历每一个节点
      

  6.   

    IHTMLDOMNode如果可以QueryInterface变成IHTMLDOMTextNode,就说明是文字,那么就可以通过HRESULT IHTMLDOMTextNode::get_data(BSTR *p);
    HRESULT IHTMLDOMTextNode::put_data(BSTR v);
    这两个函数来读写文字内容
      

  7.   

    回复人: Atry() ( ) 信誉:111 ,
    谢谢你的大力帮助。
    put_data的结果能让ie显示时感知(即按新内容显示来实现汉化)?