谁知道如何在Delphi中保存Webbrowser控件打开的网页?

xiaoyanzi 2000-07-30 04:17:00
...全文
436 10 打赏 收藏 转发到动态 举报
写回复
用AI写文章
10 条回复
切换为时间正序
请发表友善的回复…
发表回复
WATTER 2001-06-06
  • 打赏
  • 举报
回复
怎样保存到程序指定的路径,不弹出保存对话框呀,我试着把OLECMDID_saveas改成OLECMDID_save
执行时没有报错,可实际上根本就没有保存。
alin 2000-08-29
  • 打赏
  • 举报
回复
一种方案
//读WEBBROWSER中的文本内容,

uses ActiveX,ComObj;

function GetHtml(const WebBrowser:TWebBrowser): string;
const
BufSize = $10000;
var
Size: Int64;
Stream: IStream;
hHTMLText: HGLOBAL;
psi: IPersistStreamInit;
begin
if not Assigned(WebBrowser.Document) then Exit;

OleCheck(WebBrowser.Document.QueryInterface
(IPersistStreamInit, psi));
try
//OleCheck(psi.GetSizeMax(Size));
hHTMLText := GlobalAlloc(GPTR, BufSize);
if 0 = hHTMLText then RaiseLastWin32Error;

OleCheck(CreateStreamOnHGlobal(hHTMLText,
True, Stream));
try
OleCheck(psi.Save(Stream, False));

Size := StrLen(PChar(hHTMLText));
SetLength(Result, Size);
CopyMemory(PChar(Result), Pointer(hHTMLText), Size);
finally
Stream := nil;
end;
finally
psi := nil;
end;
end;

第二种
//调用WEBBROWSER的SAVE方法
WebBrowser.ExecWB(OLECMDID_SAVEAS,0);
huzi 2000-08-29
  • 打赏
  • 举报
回复
请问,IPersistFile 之前,要 USES 什么东西呀?
JGTM2000 2000-08-16
  • 打赏
  • 举报
回复
WebBrowser的(IHTMLDocument2 as IPersistFile).Save
mutant 2000-08-16
  • 打赏
  • 举报
回复
说来听听,我也想知道
mutant 2000-08-16
  • 打赏
  • 举报
回复
说来听听,我也想知道
xiaoyanzi 2000-08-15
  • 打赏
  • 举报
回复
我知道了。。。哈哈,kxy告诉我的,不过自己不能回答自己的问题,哎。。。。
tcjzy 2000-07-30
  • 打赏
  • 举报
回复
WebBrowser1.Navigate (edit1.text);
华南虎哥 2000-07-30
  • 打赏
  • 举报
回复
关注!
aju 2000-07-30
  • 打赏
  • 举报
回复
可以得到http地址后用TNMHTTP控件得到HTML,就可以保存了。呵呵。
用WebBrowser我就不会,不过WebBrowser有一个Document属性,可能可以通过它来保存 。

5,379

社区成员

发帖
与我相关
我的任务
社区描述
Delphi 开发及应用
社区管理员
  • VCL组件开发及应用社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧