webbrowser中如何“不打扰用户”保存网页??(300分)

  • 主题发起人 jadelongbow
  • 开始时间
J

jadelongbow

Unregistered / Unconfirmed
GUEST, unregistred user!
webbrowser的确非常好用,但是我用execwb实在找不到如何保存网页而不弹出扰人的
“另存为”对话框,似乎只有和IE Library一样分析HTML代码了!!谁能够救救我?!
当然,如果谁能够有分析HTML元素的源代码,一样欢迎!!
 
只是想保存网页的话,webbrowser都可以不用。
 
显然不是啦!我想保存图片、音乐、css、js甚至flash。估计只有自己分析
html源代码了。微软真是的,那个execwb非要弹出窗口,并且在msdn中“讥笑”
尝试使用execwb(..._SAVEAS,pin,pout),说什么尝试在这里的用pin pout的
人很那个……ft
 
今天看到的,試驗"成功"

但無法存成 .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;
 
用embeddedwb,可以保存到文件、流、字符,非常好用
 
不能存成 .mht 吧!?

 
可以使用WebCopy控件非常简单就可以解决。
 
在哪里找到这些控件?
 
利用 Microsoft 的 HTML 分析器来获得 Web 站点的数据
http://www.microsoft.com/china/msdn/workshop/scrape.asp

一直没时间试,这个应该是分析网页元素的。
 
试试下面的代码:我用它另存。
try
WebBrowser1.ExecWB(OLECMDID_SAVEAS,OLECMDEXECOPT_DODEFAULT);
except
on ex:Exception do
ShowMessage(ex.Message);
end;
 
jiichen:
怎麼不能運行,找不到類IPersistFile,我導入了HTML 庫了,還是不行,請問應還有
什麼沒有導入
 
有必要吗?
 
uses ActiveX;
 
MyIE好象可以,不过作者的行为实在不好说什么。
 
接受答案了.
 

Similar threads

S
回复
0
查看
3K
SUNSTONE的Delphi笔记
S
S
回复
0
查看
2K
SUNSTONE的Delphi笔记
S
顶部