象网络蚂蚁那样在IE5.0中加工具条按钮和右键菜单的详细资料?

zhangzhonghua 2000-09-09 11:22:00
我已经知道大概如何做了。

我看了MIND杂志99年11月份中Dino Esposito的文章Customizing Microsoft Internet Explorer 5.0;分析了网络蚂蚁的NaGet.htm和AntAPI.dll,知道它大概也是按Dino Esposito的文章去做的。

我的问题是:我在MSDN中查找相关资料,除了MIND中的几篇文章外,没有发现其他更详细的资料,比如,网络蚂蚁做法中,Download All by NetAnt这个右键菜单项,在注册表里,Contexts的值为0xf3
(见HKEY_CURRENT_USER\Software\Microsoft\Internet Explorer\MenuExt\Download All by NetAnt),为什么是0xf3,MSDN中那里有更详细的资料?

望高手、过来人指点一二,告诉我详细资料在哪就行了,谢谢!
...全文
575 20 打赏 收藏 转发到动态 举报
写回复
用AI写文章
20 条回复
切换为时间正序
请发表友善的回复…
发表回复
whiteshark 2001-05-07
  • 打赏
  • 举报
回复
在哪能看到MIND杂志
zhangzhonghua 2000-12-06
  • 打赏
  • 举报
回复
我把Dino Esposito的文章Customizing Microsoft Internet Explorer 5.0翻译出来了:

http://www.zzh-cn.com/translations/cutting1199.htm
zhangzhonghua 2000-09-27
  • 打赏
  • 举报
回复
经比较,看来还是MIND杂志99年11月份中Dino Esposito的文章Customizing Microsoft Internet Explorer 5.0最全面权威。从该文中,我知道0x22表示带连接(0x20)的图片(0x02),但是0xf3表示什么?因为从deanjing的提示看来,把所有的contexts的DWORD的项(掩码字段)加起来,也只是0x7f( = 0x1 + 0x2 + 0x4 + 0x8 + 0x10 + 0x20 + 0x40)啊!小于0xf3呢。如果我知道0x80表示什么,就可以组合出0xf3了。
蝈蝈俊 2000-09-26
  • 打赏
  • 举报
回复
瞧瞧
CoolHg 2000-09-26
  • 打赏
  • 举报
回复
另外好研究一下菜单指向的 VBS 文件的内容应该是有帮助的
比如下面几句
set srcEvent = external.menuArguments.event
set EventElement = external.menuArguments.document.elementFromPoint ( srcEvent.clientX, srcEvent.clientY )
if srcEvent.type = "MenuExtAnchor" then
set srcAnchor = EventElement
do until TypeName(srcAnchor)="HTMLAnchorElement"
set srcAnchor=srcAnchor.parentElement
................
可能把VBS研究通了就行了吧
(VBS 我也不懂 )
Niel 2000-09-26
  • 打赏
  • 举报
回复
请也给我一份!
niel3000@yeah.net
deanjiang 2000-09-26
  • 打赏
  • 举报
回复
zhangzhonghua:
MSDN Artcle ID:Q177241 中有详细描述
contexts的DWORD的项是一个掩码字段,表示显示此菜单的上下文环境
MENU_DEFAULT:0x1
MENU_IMAGE:0x2
MENU_CONTROL:0x4
MENU_TABLE:0x8
MENU_TEXTSELECT:0x10
MENU_ANCHOR:0x20
MENU_UNKNOWN:0x40
gjg 2000-09-25
  • 打赏
  • 举报
回复
me too
tu 2000-09-25
  • 打赏
  • 举报
回复
atten
CoolHg 2000-09-25
  • 打赏
  • 举报
回复
F3 可能是当当前光标无论指向何处都显示吧
22 则可能是只有光标指向URL(包括图片)时才显示菜单项
对这东西我也没怎么研究 至于其它还有什么取值也就不得而知了
你可以在你的工程中加入下面两句 研究一下其中类的方法(很多) 也许能找到你要的
#import "shdocvw.dll" exclude("tagREADYSTATE")
#import "mshtml.tlb"
zhangzhonghua 2000-09-25
  • 打赏
  • 举报
回复
To CoolHg:
"contexts的DWORD的项,其值可取0XF3或0X22",我不明白的就是这一项啊。我想问的是,在MSDN什么地方可以看到0xF3表示什么, 0x22又表示什么?也就是定制IE5.0的详细文档资料。谢谢!
CoolHg 2000-09-24
  • 打赏
  • 举报
回复
我没用过网络蚂蚁 不过用过ReGet 实现此功能应该是用到自动化吧 我写过一个程序 也运行了 只是一旦离开当前页运行的 程序也就自动退出了 当然还得动一动注册表了 找到IE的注册项 在其下加一项 MenuExt (有的话就不用加了) 打开后在其下加一“项” 比如“用XXX下载” 打开后把“(默认)”设置为指向一个“.htm” 的文件(文件示例见后面) 再在该项下建一个名为“contexts”的DWORD的项,其值可取0XF3或0X22 ( 具体的意义如果你找到此项后应该会明白的)
*.htm 文件其实是一个VBS 我把ReGet的源程放在这里你们自已研究吧:
<script language="VBScript">
'RG_Link Version 1.4.0.366 Copyright (c) 1998 by Vladimir Romanov, vromanov@nevalink.ru
'Download selected link

Sub AddLink(Url,Info)
On Error Resume Next
set ReGetApi=CreateObject("ReGet.ReGetApi")
if err<>0 then
MsgBox("ReGet not properly installed on this PC!"+ vbCrLf+"Please install it in system using `ReGet.exe /Setup`")
else
if ReGetApi.UrlExist(Url) then
MsgBox(Url+vbCrLf+"already in queue")
else
call ReGetApi.AddDownloadFromContextMenu(Url, Info, external.menuArguments.document.Url)
end if
end if
end sub

Sub OnContextMenu()
set srcEvent = external.menuArguments.event
set EventElement = external.menuArguments.document.elementFromPoint ( srcEvent.clientX, srcEvent.clientY )
if srcEvent.type = "MenuExtAnchor" then
set srcAnchor = EventElement
do until TypeName(srcAnchor)="HTMLAnchorElement"
set srcAnchor=srcAnchor.parentElement
Loop
Call AddLink(srcAnchor.href,srcAnchor.innerText)
elseif srcEvent.type="MenuExtImage" then
if TypeName(EventElement)="HTMLAreaElement" then
Call AddLink(EventElement.href,EventElement.Alt)
else
set srcImage = EventElement
set srcAnchor = srcImage.parentElement
do until TypeName(srcAnchor)="HTMLAnchorElement"
set srcAnchor=srcAnchor.parentElement
if TypeName(srcAnchor)="Nothing" then
call AddLink(srcImage.href,srcImage.Alt)
exit sub
end if
Loop
Call AddLink(srcAnchor.href,srcImage.Alt)
end if
elseif srcEvent.type="MenuExtUnknown" then
set srcAnchor = EventElement
do until TypeName(srcAnchor)="HTMLAnchorElement"
set srcAnchor=srcAnchor.parentElement
if TypeName(srcAnchor)="Nothing" then
Call AddLink(EventElement.href,EventElement.innerText)
exit sub
end if
Loop
Call AddLink(srcAnchor.href,srcAnchor.innerText)
elseif 1=1 then
MsgBox("Unknown Event Source """ + srcEvent.type + """" + vbCrLf + "Please send description of error to vromanov@nevalink.ru")
end if
end sub


call OnContextMenu()

</script>

至于自动化吗 找几本VC书看一看就行了

如果用谁解决了我的问题(即IE离开当前页程序就退出了)请通知我
zhangzhonghua 2000-09-11
  • 打赏
  • 举报
回复
Dino Esposito是Microsoft的人,他的文章更完整且权威。
如果达明一排能在文章的最后,写上参考文献,教人以“渔”而非仅仅是“鱼”,那才是我所想要的。
NiceFeather 2000-09-10
  • 打赏
  • 举报
回复
vcmfc,也请给我一份吧!
--gempin@sina.com
Putao 2000-09-10
  • 打赏
  • 举报
回复
也给我一份!
--joft@126.com
vcmfc 2000-09-10
  • 打赏
  • 举报
回复
如果找不到给我一个E-mail,我给你Mail过.
vcmfc 2000-09-10
  • 打赏
  • 举报
回复
帮你一把:www.v-galaxy.com与www.vckbase.com上有达明一排的文章。
NiceFeather 2000-09-10
  • 打赏
  • 举报
回复
去问网络蚂蚁的作者吧!
hadrons 2000-09-10
  • 打赏
  • 举报
回复
没有人想要讨论吗?
netsong 2000-09-10
  • 打赏
  • 举报
回复
我也想知道,能给我那篇文章吗?
netsongs@etang.com
谢谢

18,356

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC 网络编程
c++c语言开发语言 技术论坛(原bbs)
社区管理员
  • 网络编程
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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