请教高手:如何将TWebBrowser中浏览的网页连同图文件保存?象IE中的另存一样。

天剑68 2003-10-17 06:04:34
如何将TWebBrowser中浏览的网页连同图文件保存?象IE中的另存一样。
...全文
43 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
pankun 2003-10-18
  • 打赏
  • 举报
回复
代理设置放在注册表中的啊,具体什么项你查查书吧:)
天剑68 2003-10-18
  • 打赏
  • 举报
回复
编程下载肯定没问题,但如果IE中设置了代理,我如何获得HTTP代理的设置呢?
天剑68 2003-10-18
  • 打赏
  • 举报
回复
你说得没错,我一直想知道只通过TWEBBROWSER能不能解决这些问题,看来还是不好实现,谢谢你的问答。
pankun 2003-10-17
  • 打赏
  • 举报
回复
网页中显示的图像会被保存在Temporary Internet Files文件中.你可以编程COPY出来.
HTML代码中也有图像的地址,你也可以编程下载下来.
天剑68 2003-10-17
  • 打赏
  • 举报
回复
存HTML代码是没有问题了,可是网页中包含的图像文件怎么取得呢?
pankun 2003-10-17
  • 打赏
  • 举报
回复
保存TWebBrowser到文件
procedure SaveHTMLSourceToFile(const FileName: string;
WB: TWebBrowser);

var

PersistStream: IPersistStreamInit;

FileStream: TFileStream;

Stream: IStream;

SaveResult: HRESULT;

begin

PersistStream := WB.Document as IPersistStreamInit;

FileStream := TFileStream.Create(FileName, fmCreate);

try

Stream := TStreamAdapter.Create(FileStream, soReference) as IStream;

SaveResult := PersistStream.Save(Stream, True);

if FAILED(SaveResult) then

MessageBox(Handle, 'Fail to save HTML source', 'Error', 0);

finally

{ we are passing soReference in TStreamAdapter constructor,

it is our responsibility to destroy the TFileStream object. }

FileStream.Free;

end;

end;

 


pankun 2003-10-17
  • 打赏
  • 举报
回复
保存TWebBrowse中的网页为HTML文件,以及读取WebBrowse的HTML源代码:
uses

ActiveX;

function WB_SaveHTMLCode(WebBrowser: TWebBrowser; const FileName: TFileName): Boolean;

var

ps: IPersistStreamInit;

fs: TFileStream;

sa: IStream;

begin

ps := WebBrowser.Document as IPersistStreamInit;

fs := TFileStream.Create(FileName, fmCreate);

try

sa := TStreamAdapter.Create(fs, soReference) as IStream;

Result := Succeeded(ps.Save(sa, True));

finally

fs.Free;

end;

end;

function WB_GetHTMLCode(WebBrowser: TWebBrowser; ACode: TStrings): Boolean;

var

ps: IPersistStreamInit;

ss: TStringStream;

sa: IStream;

s: string;

begin

ps := WebBrowser.Document as IPersistStreamInit;

s := '';

ss := TStringStream.Create(s);

try

sa := TStreamAdapter.Create(ss, soReference) as IStream;

Result := Succeeded(ps.Save(sa, True));

if Result then ACode.Add(ss.Datastring);

finally

ss.Free;

end;

end;

procedure TForm1.Button1Click(Sender: TObject);

begin

WB_SaveHTMLCode(Webbrowser1, 'c:.txt');

end;

procedure TForm1.Button2Click(Sender: TObject);

begin

WB_GetHTMLCode(Webbrowser1, Memo1.Lines);

end;

 

from 猛料.
klbt 2003-10-17
  • 打赏
  • 举报
回复
学习,帮你顶。
WebBrowserWebBrowser编程技术包括Delphi、C#、VC++、VB等编程资料的集合,其的 实例大多以Delphi为示例讲解,Delphi7 IDE开发环境。 IE_WebBrowser编程技巧 修改WebBrowser的header信息? Delphi查看WebBrowser提交之前的数据头 用TWebBrowser组件在DELPHIPOST数据和取得网页文件WebBrowser 直接载入流,不通过文件 判断下载网页成功 WebBrowser 失去焦点问题的解决 添加到收藏夹和整理收藏夹 使WebBrowser获得焦点 提取网页所有链接 Web字体大小 Web命令操作 WebBrowser Navigate 的 参数 EmptyParam Web控件不缓存网页,也不从缓存读取 禁止WebBrowser复制 CTRL+C 在WebBrowser窗口上模拟KeyBd_Event 在使用WebBrowser控件,先要 初始化和结束程序后要终止化(Initialization & Finalization) 自定义浏览器上下文菜单 自定义浏览器 C#调用WebBrowser查看源文件的功能 ----------------------------------- WebBrowser与MSHTML 直接在WebBrowser写HTML字符串 在webbrowser查找字符串并定位 把片拷贝进剪贴板 IHTMLDocument的ExecCommand 处理事件的Internet Explorer的DOM 禁止WebBrowser右键弹出菜单 禁止TWebBrowser像显示 访问HTML的DOM不使用WebBrowser 如何填写空白(about:blank)页的表单 屏蔽WebBrowser的Javascript 创建运行时的IHTMLDocument而不在WebBrowser内 HOOK Webbrowser 替换WebBrowser的窗口过程 Microsoft.XMLHttp的属性和方法的简介及使用 ------------------------ IE相关的 清空IE缓存 单独删除某一URL的缓存 清空历记录 读取IE历史记录 防止脚本关闭WebBrowser 连接是否有效 InternetCheckConnection res协议可以使浏览器显示储存在资源HTML 往IE嵌入工具条 阻断弹出式广告的BHO 自动填表的IE面板插件 使用Delphi开发IE按钮扩展 使用Delphi开发IE右键菜单扩展 IE异步可插入协议扩展 Delphi开发IE下载扩展 创建3721样式的Google搜索扩展 HTML代码过滤技术 GetDefaultBrowser 得到的HTML代码的IE窗口 下载网址wininet ------------------------------- 注意啦,需要HTF 阅读器:http://sites.google.com/site/htfresource/home

1,593

社区成员

发帖
与我相关
我的任务
社区描述
Delphi 网络通信/分布式开发
社区管理员
  • 网络通信/分布式开发社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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