IE6编程问题,真的是难呀!不是高手就别浪费时间了,100分!(决无贬义,只求广告效应)

lg75 2002-03-13 11:02:44
调用IE的ExecWB(...)想弹出“另存为”的窗口,
CHtmlView.ExecWB OLECMDID_SAVEAS, OLECMDEXECOPT_DODEFAULT
但是
我不想显示弹出的“另存为”的窗口,还想存为下拉框中的某种非默认格式,
如何实现?难吧!
请指教。
谢谢!
...全文
63 11 打赏 收藏 转发到动态 举报
写回复
用AI写文章
11 条回复
切换为时间正序
请发表友善的回复…
发表回复
xpf_2000 2002-07-21
  • 打赏
  • 举报
回复
gz
lg75 2002-07-18
  • 打赏
  • 举报
回复
厉害,好久没注意CSDN了,竟然有人会!!!
给分了!
jiangsheng(蒋晟.Net)

蒋晟 2002-07-18
  • 打赏
  • 举报
回复


主  题: 超超超超超级难题!!!!给你10个URL,你能把自动他们都存成*.mht文件吗??????
作  者: 111222 (张小白)

http://www.csdn.net/expert/topic/786/786376.xml
回复人: masterz() ( ) 信誉:98 2002-6-7 17:42:45 得分:300


#import "c:\program files\common files\system\ado\msado15.dll" no_namespace rename("EOF", "EndOfFile")
#import <cdosys.dll> no_namespace rename("EOF", "EndOfFile")
............
void CSavemhtDlg::OnOK()
{
// save url as a single file, in fact I don't know if it is mht file, but it can be opened by IE, can someone tell me?
CoInitialize(NULL);
{
IMessagePtr iMsg(__uuidof(Message));
IConfigurationPtr iConf(__uuidof(Configuration));
iMsg->Configuration = iConf;
try
{
iMsg->CreateMHTMLBody(
"http://example.microsoft.com",
cdoSuppressNone,
"domain\\username",
"password");
}
catch(_com_error err)
{
// handle exception
}
_StreamPtr pStream=iMsg->GetStream();
pStream->SaveToFile("test.mht",adSaveCreateOverWrite);
}
CoUninitialize();
}



seesi 2002-03-18
  • 打赏
  • 举报
回复
解决不了。除非....(我没有办法)
lanzhengpeng2 2002-03-18
  • 打赏
  • 举报
回复
masterz() ( ):不是BUG,而是安全所致
joyfly 2002-03-18
  • 打赏
  • 举报
回复
IE的EXECB解决不了的,GOOGLE我都搜了N遍了

有一种解决方法:
用MSHTML.DLL提供的接口解析HTML,找到需要的连接(如IMG的SRC),然后自己到缓冲区找到临时文件,用BASE64编码,放到文件中》》》

个人觉得其中最难的一步就是解析HTML,找出需要的SRC

111222 2002-03-18
  • 打赏
  • 举报
回复
你可以模拟鼠标/键盘动作……

让其自动保存
masterz 2002-03-18
  • 打赏
  • 举报
回复
microsoft news group上讨论过多次了,结论是“另存为”的窗口会出来,是IE的bug
lg75 2002-03-18
  • 打赏
  • 举报
回复
感谢kimryo,现在可以存为指定路径的默认文件

但是我想另存为W.mht格式的文件(下拉框的第二个)也就是IE5,6支持的单一文档格式。
我直接用
WebBrowser1.ExecWB OLECMDID_SAVEAS,OLECMDEXECOPT_DONTPROMPTUSER, "c:\c.mht", "c:\c.mht"
但是,首先会弹出SaveAs对话框,OLECMDEXECOPT_DONTPROMPTUSER好像失效了。
另外,存为c.mht格式的文件不对,打开后是部分源码。
kimryo 2002-03-13
  • 打赏
  • 举报
回复
ExecWB函数可以执行一些浏览器操作,如保存、打印、缩放页面,选择、拷贝页面中的文本等功能。
语法如下:
ExecWB cmdID,cmdExecept[,pvIn],[pvOut]
其中cmdID为命令值,cmdExecept为执行命令的方式,pvIn pvOut为附加参数。例如下面的语句: WebBrowser1.ExecWB OLECMDID_SAVEAS,
OLECMDEXECOPT_DONTPROMPTUSER, "c:\c.htm", "c:\c.htm" 就将控件中显示的页面保存到 c:\c.htm
文件中

copy...
chenzhou35 2002-03-13
  • 打赏
  • 举报
回复

MSDN -> IWebBrowser2 Interface -> ExecWB -> MSHTML Command Identifiers -> IDM_SAVEAS
应该可以解决你的疑问了。

16,472

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC相关问题讨论
社区管理员
  • 基础类社区
  • Web++
  • encoderlee
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

        VC/MFC社区版块或许是CSDN最“古老”的版块了,记忆之中,与CSDN的年龄几乎差不多。随着时间的推移,MFC技术渐渐的偏离了开发主流,若干年之后的今天,当我们面对着微软的这个经典之笔,内心充满着敬意,那些曾经的记忆,可以说代表着二十年前曾经的辉煌……
        向经典致敬,或许是老一代程序员内心里面难以释怀的感受。互联网大行其道的今天,我们期待着MFC技术能够恢复其曾经的辉煌,或许这个期待会永远成为一种“梦想”,或许一切皆有可能……
        我们希望这个版块可以很好的适配Web时代,期待更好的互联网技术能够使得MFC技术框架得以重现活力,……

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