如何通过编程将webbrowser中正在显示的web保存成.MHT格式的网页(100分)

  • 主题发起人 主题发起人 runmark
  • 开始时间 开始时间
R

runmark

Unregistered / Unconfirmed
GUEST, unregistred user!
如何通过编程将webbrowser中正在显示的web保存成.MHT格式的网页?

webbrowser控件中有另存网页的命令:
例如:webbrowser1.ExecWB(OLECMDID_SAVEAS,0);
但是用户必须接受一个对话框选择保存类型为MHT格式才可以保存为.MHT格式的文件
有哪位高手可以解决?通过语句自动保存为.MHT格式,不显示对话框。
 
以前很多人问过 没有办法
 
我通过模拟键盘的方式处理网页保存成.mht的代码如下
保存成.mht格式的步骤应该是:
弹出saveas..对话框,焦点落在文件名的文本框中,按TAB键转到保存文件类型列表框,按向下箭头键,弹出文件类型列表,在按一次向下箭头键,可以选中.mht类型,然后按回车,再按TAB键焦点转移到保存按钮上,按回车保存
//keybd_event(vk_end, 0,0, 0);//
keybd_event(vk_tab, 0,0, 0);//按TAB键转到保存文件类型列表框
keybd_event(vk_down, 0,0, 0);//按向下箭头键,弹出文件类型列表
keybd_event(vk_down, 0,0, 0);//在按一次向下箭头键,焦点选中.mht类型
keybd_event(VK_RETURN, 0,0, 0);//回车 选中.mht类型
keybd_event(vk_tab, 0,0, 0);//按TAB键焦点转移到保存按钮上
keybd_event(VK_RETURN, 0,0, 0);按回车保存
if FileExists(filename) then//出现重名时,默认警告框是取消按钮获得焦点,TAB转移
begin //焦点到确认按钮上,回车.
keybd_event(vk_tab, 0,0, 0);//如果不想取代,注释掉该句
keybd_event(VK_RETURN, 0,0, 0);
end;
self.WebBrowser1.ExecWB(OLECMDID_SAVEAS,0);//执行webbrowser的保存操作

但是 按第二次向下方向键 没有起作用,请问为什么,谢谢
 
弹出保存对话框
Tab键
W键
回车键
 
来自:e-, 时间:2004-2-8 20:25:00, ID:2443429
弹出保存对话框
Tab键
W键
回车键

W键不起作用 干什么用呢
 
Tab键:保存类型获取焦点
W键:选中第一个字母为W的保存类型
 
to e-:
我的IE是中文版的 其另存类型选项哪里有W开头的呀
 
我的IE也是中文版
保存对话框的保存类型如下:
1.网页,全部(*.htm;*.html)
2.Web 档案,单一文件(*.mht)
3.网页,仅Html(*.htm;*.html)
4.文本文件(*.txt)
如无“Web 档案,单一文件(*.mht)”此保存类型,很可能是你没安装OutLook
 

Similar threads

S
回复
0
查看
3K
SUNSTONE的Delphi笔记
S
S
回复
0
查看
2K
SUNSTONE的Delphi笔记
S
D
回复
0
查看
2K
DelphiTeacher的专栏
D
后退
顶部