如何将WebBrowser1构件中的内容保存为一个指定的 MHT 文件。(100分)

  • 主题发起人 question
  • 开始时间
Q

question

Unregistered / Unconfirmed
GUEST, unregistred user!
需要将一个 WebBrowser1 中的内容(含图片信息)保存到一个单独的 MHT 文件中(MTH 文件是 MIME格式的文件),
并且这个文件要可以在程序中指定,不能弹出 Save as 对话框。
如果能有将 WebBrowser1 中的内容保存到一个单独的 TStream 中的解决方法也可以。
谢谢!
PS: WebBrowser1 要能动态创建。如果能解决再加 100 分。
 
我也想知道
 
embeddedwb可以保存到Stream.
 
embeddedwb ???
是什么?
 
http://www.intelligo.net/iedelphi/
 
程序指定save as到一个临时文件里,然后把该临时文件保存到Tstream中。
 
这个问题哪那么简单啊?不知道多少人想了多长时间了,大家还是不要灌水了。
兄台不是我说你,你就是给200分也太少了,
如果真能解决的话我拿出5000分又算什么?
(没错5千分,不行乘2也行啊,再多分就不够了,呵呵)
(我认真的,谁解决了告诉俺一声,决不食言!!!)
(前提是不能靠给对话框发消息一类的弱智方法,得是“正规”方法)
 
其实这种格式非常简单,看起来就知道非常类似邮件发送时候使用的格式,不同的是所有图片
使用绝对路径存储,而且img和其他连接前面嵌入"3D"关键字,包括.js文件和.css文件。自己
做一次编码然后按照格式存储就可乐。。。:)
 
请继续或结束
 
unreal:
>> (前提是不能靠给对话框发消息一类的弱智方法,得是“正规”方法)

这个“弱智”方法是如何实现的,请给个例子!
如何取得对话框的句柄,发送什么消息?

试了许多方法,无论如何SAVEAS对话框总会出来,真要命!


 
请继续或结束
 
>> 有新的信息吗?
 
so hard!!
wait!
 
今天看到的,試驗"成功"

但無法存成 .mht ,有人可以改進的嗎?


procedure TForm1.Button2Click(Sender: TObject);
var
HTMLDocument: IHTMLDocument2;
PersistFile: IPersistFile;
begin
HTMLDocument := web1.Document as IHTMLDocument2;

while HTMLDocument.readyState <> 'complete' do
Application.ProcessMessages
{wait download complete}

PersistFile := HTMLDocument as IPersistFile;
PersistFile.Save(StringToOleStr('c:/tmp/klaus.htm'), system.True);

end;
 
请问 IHTMLDocument2 是什么类型,我在DELPHI5里面编译不能通过,望告之。
 
顶部