关于IE编程的巨难问题

sor 2002-01-24 03:44:24
IE有一个“另成为”的功能,它可以把本地的cache中的网页保存成本地的页面,而不需要去下载,我想实现的功能就是在IE的快捷菜单中加一项(就像NetAnts),点击后模仿“另存为”的功能,将页面保存到我自己的数据库中去,但是我不要那个保存对话框,只需要保存进度条,其中参数由程序设定

我只需要知道如何实现程序设定参数来保存页面的功能

寻求高手解答,这是困扰我已久的问题
...全文
307 31 打赏 收藏 转发到动态 举报
写回复
用AI写文章
31 条回复
切换为时间正序
请发表友善的回复…
发表回复
caomu 2002-02-06
  • 打赏
  • 举报
回复
建议:
把Mozilla的源码Down回家好好看看,还有一本书《Netscape 源码分析》(大概是这样),应该会有所帮助:)
strip 2002-02-05
  • 打赏
  • 举报
回复
这个在microsoft.public.inetsdk.programming.mshtml_hosting已经讨论过很多次了
1. OLECMDEXECOPT_DONTPROMPTUSER经广大劳动人民实践证明没有用 (你可以考虑自己从头写一个下载的了,其实就解析一下里面还需要get的element, 比如jpg,frame...)
2. 找个办法那个dialog一跳出来就sendmessage给他让他消失
3. 这个方法网上有人介绍过,但我没有试出来:
1)自己创建一个空的html文件
2)然后用iwebbrowser打开,开始编辑
3) 保存
4) 放到db里
4. 看看你能不能搞定这个调用:OLECMDID_ALLOWUILESSSAVEAS (我试过,不知道怎么用,msdn里面是查不到的)


附表:
typedef enum {
OLECMDID_OPEN = 1,
OLECMDID_NEW = 2,
OLECMDID_SAVE = 3,
OLECMDID_SAVEAS = 4,
OLECMDID_SAVECOPYAS = 5,
OLECMDID_PRINT = 6,
OLECMDID_PRINTPREVIEW = 7,
OLECMDID_PAGESETUP = 8,
OLECMDID_SPELL = 9,
OLECMDID_PROPERTIES = 10,
OLECMDID_CUT = 11,
OLECMDID_COPY = 12,
OLECMDID_PASTE = 13,
OLECMDID_PASTESPECIAL = 14,
OLECMDID_UNDO = 15,
OLECMDID_REDO = 16,
OLECMDID_SELECTALL = 17,
OLECMDID_CLEARSELECTION = 18,
OLECMDID_ZOOM = 19,
OLECMDID_GETZOOMRANGE = 20,
OLECMDID_UPDATECOMMANDS = 21,
OLECMDID_REFRESH = 22,
OLECMDID_STOP = 23,
OLECMDID_HIDETOOLBARS = 24,
OLECMDID_SETPROGRESSMAX = 25,
OLECMDID_SETPROGRESSPOS = 26,
OLECMDID_SETPROGRESSTEXT = 27,
OLECMDID_SETTITLE = 28,
OLECMDID_SETDOWNLOADSTATE = 29,
OLECMDID_STOPDOWNLOAD = 30,
OLECMDID_ONTOOLBARACTIVATED = 31,
OLECMDID_FIND = 32,
OLECMDID_DELETE = 33,
OLECMDID_HTTPEQUIV = 34,
OLECMDID_HTTPEQUIV_DONE = 35,
OLECMDID_ENABLE_INTERACTION = 36,
OLECMDID_ONUNLOAD = 37,
OLECMDID_PROPERTYBAG2 = 38,
OLECMDID_PREREFRESH = 39,
OLECMDID_SHOWSCRIPTERROR = 40,
OLECMDID_SHOWMESSAGE = 41,
OLECMDID_SHOWFIND = 42,
OLECMDID_SHOWPAGESETUP = 43,
OLECMDID_SHOWPRINT = 44,
OLECMDID_CLOSE = 45,
OLECMDID_ALLOWUILESSSAVEAS = 46,
OLECMDID_DONTDOWNLOADCSS = 47,
OLECMDID_UPDATEPAGESTATUS = 48,
OLECMDID_PRINT2 = 49,
OLECMDID_PRINTPREVIEW2 = 50,
OLECMDID_SETPRINTTEMPLATE = 51,
OLECMDID_GETPRINTTEMPLATE = 52
} OLECMDID;
strip 2002-02-04
  • 打赏
  • 举报
回复
关注
  • 打赏
  • 举报
回复
对啊
wwtmw@163.com
谢谢
sor 2002-02-04
  • 打赏
  • 举报
回复
那怎么办??
HELP!
神掌 2002-02-04
  • 打赏
  • 举报
回复
可以用目标另存为的功能
蒋晟 2002-02-04
  • 打赏
  • 举报
回复
@_@
kimryo 2002-02-01
  • 打赏
  • 举报
回复
其实不需要用到IHTMLDocument2接口。
kimryo 2002-02-01
  • 打赏
  • 举报
回复
做了一个类是功能的,但还没有添加到数据库中的部分,需要的话把源码给你。
RedFire 2002-02-01
  • 打赏
  • 举报
回复
这有何难,你会取得浏览器的Document接口吗?如果你取得了Document的接口,Document.innerHTML就是你要的内容。
sor 2002-02-01
  • 打赏
  • 举报
回复
to: qinzm(不归人)
你的方法我没有试,估计能找到临时文件,但是只有HTML代码,不是我想要保存为“Web 页 全部”的这种效果

to: masterz()
你这种方法是弹出一个保存对话框,但是我的关键问题是不要那个对话框,直接用程序来保存页面
superrg 2002-02-01
  • 打赏
  • 举报
回复
IE是个大黑洞,黑进去以后只有死机,再也不能出来~~~~~~~
kimryo 2002-02-01
  • 打赏
  • 举报
回复
不对不对,不是在对话框上做手脚,可以绕过任何对话框直接保存。
eric_chenwei 2002-02-01
  • 打赏
  • 举报
回复
给我发一个把,我对这个也感兴趣。谢谢了。
eric_chenwei@163.com
sor 2002-02-01
  • 打赏
  • 举报
回复
有朋友说可以在保存对话框上做文章,让对话框不显示,然后给保存按钮发一个消息,这怎么做?
kimryo 2002-02-01
  • 打赏
  • 举报
回复
不好意思,没看全,可以做到保存HTML代码,没有对话框直接保存,还没有保存图像功能。
sor 2002-02-01
  • 打赏
  • 举报
回复
to: RedFire(丹焰) 
这个我会,但是像图片、Frame等都没有,我要的是“另存为”这种效果,而不是取HTML代码,“另存为”是把网页存成为一个整体,图片、帧等等都应该有,而不是打开一个页面到处都缺图片或者提示页面不存在。

to:kimryo(轻*轻*前*轻*重)
把代码发给我,谢了
drinkalone@163.com
masterz 2002-01-25
  • 打赏
  • 举报
回复
IOleCommandTarget* pCmdTarg;
hr = pHTMLDocument2->QueryInterface(IID_IOleCommandTarget, (void**)&pCmdTarg);
if( SUCCEEDED(hr) )
{
hr = pCmdTarg->Exec( &CGID_MSHTML, IDM_SAVEAS, OLECMDEXECOPT_DONTPROMPTUSER, &v, NULL);
pCmdTarg->Release();
}

kangzh77 2002-01-25
  • 打赏
  • 举报
回复
http://www.csdn.net/expert/topic/492/492919.shtm
sor 2002-01-25
  • 打赏
  • 举报
回复
能不能说具体点,谢谢
如果有源码请发到我邮箱里 drinkalone@163.com
加载更多回复(11)

1,660

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC 非技术类
社区管理员
  • 非技术类社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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