webbrowser 能否 访问内存映像?

解决方案 »

  1.   

    就是MapViewoFfILE函数和CreatFileMapping函数
      

  2.   

    这个也没法让webbrowser 直接读取内存中的MHT文件.  能否发内存模拟成一个硬盘,这个硬盘是不可见的,这样webbrowser 就可以neaigate了
      

  3.   

    其实这个问题在本论坛早已解决过
    http://topic.csdn.net/u/20080108/15/65aa76b5-e5f9-4f8d-98ae-81379d8ca6df.html
      

  4.   

    引用 eduyu :其实这个问题在本论坛早已解决过 
    http://topic.csdn.net/u/20080108/15/65aa76b5-e5f9-4f8d-98ae-81379d8ca6df.html我把你说的帖子看完了,该帖子还是没有解决 解析内存中的MHT问题.难道真的不能实现webbrowser访问内存中的MHT文件的问题?
      

  5.   

    IE根本就不读文件,只读url moniker(urlmon.dll)给他的数据,比如http://www.a.com/b.jpg。
    他碰到这个就把url给 url moniker,后者返回数据,所以IE根本不知道这是本地还是网络数据。url moniker有种插件,叫做Asynchronous Pluggable Protocol(APP) Handler。利用这个,
    你可以自己解析某种协议,并喂数据给url moniker。比如腾讯的tencent://xxxxxxx协议,
    就是APP handler。你自己做的APP handler,你爱到哪儿读数据都成,包括内存,
    到时候喂给url moniker就成。后者会喂给IE。这样讲还不明白的话,建议自己多熟悉相关技术先。
      

  6.   

    Asynchronous   Pluggable   Protocol(APP)   Handler这个我已经实现了,如何在APP解析MHT文件呢?我能否将内存中的MHT文件,给urlmon.dll呢?然后让IE显示出来.
      

  7.   

    应该不能,mshtml只认html,mht是在urlmon.dll中被解析的,而且没有可编程接口。
    你需要自己解析mht,http://www.unmht.org/unmht/en_index.html
    以上是ff的mht插件,xpi格式其实也是zip,解压后有js写的mht解析器。你需要翻译成c++
      

  8.   

    urlmon.dll 是个动态连接库就 应该有编程接口,因为系统也应该在调用她,能否从这方面入手解析MHT文件?
      

  9.   

    你做的APP就是他的接口之上了,它应该没提供mht相关的接口,你可以查查他的type library。我觉得自己解析下就OK了。
      

  10.   

    能否谈谈解析MHT文件的思路?看来这个问题应该归结为: 
    如何在流上构造一个MHT moniker,和如何加载MHT文件到文档对象
      

  11.   

    The key to MHTML is that the content is encoded as if it were an HTML email message, using the MIME type multipart/related. The first part is the HTML file, encoded normally. Subsequent parts are additional resources, identified by their original URLs.意思.mht和.eml格式是一样的。文件分很多段,每段用base64压缩一个相关文件,比如一个gif图。你只需解码base64的数据称raw data就OK了。
      

  12.   

    你只需解码base64的数据称raw   data  这句话不明白?具体如何理解呢?
      

  13.   

    另外,判断 文件分段采用什么方法?因为MHT文件可能比较大
      

  14.   

    从文件直接读的binary数据就是raw data,很多协议要求raw data在网络上一般转成base64编码再传输。
      

  15.   

    你自己用ultraedit打开一个小点的mht文件看看就什么都理解了
      

  16.   

    你自己编写程序实现了 从内存中读MHT文件,然后在WEBBROWERS中显示出来 没有?如果你实现了,我就有底了,免得做了半天,还没有结果