怎样在IE浏览器的右击弹出菜单中加入新的菜单项,点击有新的动作?

BinLee 2002-11-08 10:16:23
谢谢
...全文
119 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
public 2002-11-08
  • 打赏
  • 举报
回复
用Registry Functions
在下添加子项目
HKEY_CURRENT_USER\Software\Microsoft\Internet Explorer\MenuExt
dwei 2002-11-08
  • 打赏
  • 举报
回复
转贴一些,参考。
[1]
请完整的介绍一下jetcar的 在IE右键菜单加“用jetcar下载”,点击呼叫jetcar下载该链接的实现。
Jccatch.dll 这个DLL好象是个Browser Helper Object?
捕获IE的下载事件。
jc_all.htm和jc_link.htm可以沽名司仪了。
我想做的是,在IE的右键菜单上加一行“ 复制到 小秘书 ”。
我要是写BHO的话该怎么写?IEHelper里面没有介绍如何执行 copy.
我该怎么做?

在jc_link.htm的VBS中. 它通过IE的几个变量想办法得到链接的一个URL的字符串.
可实际上的工作还是通过createobject建立/或者得到了一个jetcar的COM组件接口. 之后把这个URL传进去...
你现在的工作的一点差别就是jetcar要得到的是一个链接. 而你要得到的是一块选定的文字.
看看IE的VB的编程接口吧. 应该有这样的变量... (这个没有做过)

[2]
http://www.zzh-cn.com/translations/cutting1199.htm

[3]
怎样在IE工具栏上加入自己的工具

写一个COM程序,然后在注册表的HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Internet Explorer\Extensions下放你的程序的GUID项,IE就会自动添加这个按钮了。项下面的属性参考其他.


1.HKEY_CURRENT_USER\SOFTWARE\Microsoft\Internet Explorer\Extensions\CmdMapping(以下简称BB)下看看各个增加的键值,最有用的是NextID(便于编程时决定你的程序的CLSID加在什么地方)。可以将你的程序的CLSID作为键名,键值为原来NextID的值,然后将NextID的值加一。
2.在HKKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Internet Explorer\Extensions处增加一个项目,名字为你的程序的CLSID,他拥有的子键为(全部为字符串型)
ButtonText:按钮的文字标签。如果你设置IE的工具栏没有文字标签时,这些文字将作为工具提示(就是当鼠标移动到按钮上并停留一段时间时出现的小黄条)。
CLSID:必须为{1FBA04EE-3024-11D2-8F1F-0000F87ABD16}。这是IE工具条的CLSID。
Default Visible:安装时是否可见。

Exec:要执行的文件。(EXE格式)
或者
ClsidExtension:加入的插件DLL注册的ID。

HotIcon:当鼠标移动到按钮上时显示的图标。
Icon:普通状态下的图标。
MenuText:在IE的“工具”菜单中显示的菜单项。可以使用&符号指定快捷键。
MenuStatusBar:当鼠标移动到该菜单项上时,在IE的状态栏上显示的文字。

说明:可以用CLSIDExtension去指定自己为IE写的扩展DLL,即“插件”如Flash插件。此时就不要指定Exec选项。同时也不要使用Menu的选项。

CLSID就是类的ID,系统根据这个来区分不同的COM对象。


例子:,C++Builder

void __fastcall TChangeSkinForm::SetButton()
{
AnsiString asIEKey = "Software\\Microsoft\\Internet Explorer\\Extensions";
if(!RegKeyExists(HKEY_LOCAL_MACHINE, asIEKey))//ie 4.0
return;
//增加按钮
AnsiString asMyKey = asIEKey + "file://{06DD38D3-D187-11CF-A80D-00C04FD74AD8/}";
WriteStringToReg(HKEY_LOCAL_MACHINE, asMyKey, "CLSID", "{1FBA04EE-3024-11D2-8F1F-0000F87ABD16}" ,true);
WriteStringToReg(HKEY_LOCAL_MACHINE, asMyKey, "ButtonText", "背景" ,true);
WriteStringToReg(HKEY_LOCAL_MACHINE, asMyKey, "Default Visible", "yes" ,true);
WriteStringToReg(HKEY_LOCAL_MACHINE, asMyKey, "Exec", Application->ExeName ,true);
WriteStringToReg(HKEY_LOCAL_MACHINE, asMyKey, "HotIcon", ExtractFilePath(Application->ExeName) + "Skinhot.ico",true);
WriteStringToReg(HKEY_LOCAL_MACHINE, asMyKey, "Icon", ExtractFilePath(Application->ExeName) + "Skin.ico",true);
}

[4]
我所见到的都是先写一个 com 对象,然后在脚本中调用。
要是脚本可以直接调用 exe,那我岂不是可以 "format 你的c:"了。
BinLee 2002-11-08
  • 打赏
  • 举报
回复
是不是要修改注册表?
BinLee 2002-11-08
  • 打赏
  • 举报
回复
up

16,550

社区成员

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

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

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