保存浏览器控件中的网页

如果需要调用默认的保存对话框,可以调用 IDM_SAVE命令保存网页 。由于安全原因,这个命令会总是显示一个文件保存对话框,调用命令的时候指定OLECMDEXECOPT_DONTPROMPTUSER时也不例外。这也意味着IDM_SAVE的文档中的描述是错误的。
注意保存为mht格式的选项只有自动化IE时才会出现, 在嵌入浏览器控件时没有,而且这个功能 需要Outlook Express 5.0或更高版本的支持
如果需要绕过保存对话框把网页保存到本地文件,那么你可以 查询文档的IPersistFile接口,之后调用其Save方法。注意,网页中的脚本生成的内容需要将网页 切换到设计模式(DesignMode="On")之后保存。如果你想同时保存脚本、图像和链接样式表到同一个文件,你需要 分析网页内容,找到这些元素的网址,然后去Internet Explorer的缓存文件夹 查找这些文件,最后 把这些文件保存到mht文件中。你可以使用CDO(使用早期绑定的话需要检测操作系统版本)或者 .Net类库中的System.Web.Mail(CDO的封装)/System.Net.Mail来保存文件到MHTML格式。
如果网页是静态的,用 UrlDownloadToFile比使用浏览器控件的效率更高,因为这样不用下载脚本、图像和链接样式表,以及执行脚本,但是这也可能导致网页中的脚本生成的内容缺失。如果你需要一个无界面的HTML分析器,你可以创建一个MSHTML文档对象,参考MSDN中的 WalkAll示例
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值