http://go8.163.com/~vbjia/down/iesin15.zip

解决方案 »

  1.   

    惭愧,我是这个例子的作者,我觉得你最好用hook“挡”挡住不让那个保存对话框出现(即不让他获得焦点,这时给那个确定按钮“按”下,)。这样不一定能做到,我是考虑到即使做到了,但由于很多网页保存时要花好久而导致其它窗口不能及时操作,所以我想做到这个也没什么实际价值就没去试。
    建议你参考一些DELPHI的例子或MSDN中Ipersist的说明直接通过对象操作及转换链接做吧,当然很烦。不过做到后台保存当前页的文字还是没问题的,只要注意用Ipersistfile的save方法时传递文件名字符串时用StrPtr获得指针就可以了:)vbyes.ccoo.com
      

  2.   

    我没有下载看你的例子。
    我的方法是:Private Sub WebBrowser1_DocumentComplete(ByVal pDisp As Object, URL As Variant)
     Dim Doc As IHTMLDocument2
     Set Doc = WebBrowser1.Document
     Me.Text_temp_html = Doc.body.outerHTML
     Me.Text_name = Doc.title
     Open Me.Text_name For Output As #1
          Print #1, Me.Text_temp_html 
     close #1
    End Sub
      

  3.   

    补充:tianye的方法只是根据COM保存了对应于BODY部分的内容,除了肯定不是HTM什么文件的源文件之外,很难说源文件中HEAD区的其它什么内容能正常保存,其实你也可直接访问IPersistFile接口的SAVE方法直接保存源文件,这个我已实现,另外肯定你也可通过IPersist派生的那STREAM接口直接在内存中实现源文件的读写,这个我还没做,你可参考一下DELPHI或BCB中的VCL试着写一下
    BTW,我把IPersistFile指向document对象后用SAVE方法保存时文件名参数用了strptr取得文件名字符串的指针:)