在IE键中添加菜单并调用外部程序

原文链接:http://www.cnblogs.com/tracydj/archive/2011/03/05/1971759.html

1. 打开注册表编辑器regedit.exe;

2. 定位到 HKEY_CURRENT_USER\Software\Microsoft\Internet Explorer\MenuExt ,在MenuExt节点上新建子项,如IELINK,如果要设置快捷键访问方式,可以用(&+字母)的方式;

3. 设置默认值为一个地址,如:C:\startup.htm,当IE的菜单中点击菜单项时,就会调用该文件并执行里面的脚本;

4. 添加一个名为Contexts的DWORD值,并赋值,可以使用预定义的值或组合,定义如下:

缺省 0x1
图片 0x2
控件 0x4
表单域 0x8
选择文本 0x10
锚点(链接) 0x20

如果我们想跟迅雷一样,想在图片和链接上点右键时显示我们的菜单,则可以输入22(图片+链接);如果没有设置Contexts对象,则会在所有地方点击右键时显示我们定义的菜单;

5. 创建文件C:\startup.htm,写入脚本:

<script type="text/javascript">
var win = window.external.menuArguments;
var arg = win.event.srcElement.href;
var wsh = new ActiveXObject("WScript.Shell");
var myExe = "\"C:\\IELink.exe\" ";
wsh.run(myExe + arg, 1, true);
</script>

更多WScript Shell对象请参见: http://msdn2.microsoft.com/en-us/library/aew9yb99.aspx
更多关于WScript.Shell的run函数的参数请参见: http://msdn2.microsoft.com/en-us/library/d5fk67ky.aspx 

6. 在程序的Main函数中使用string[] args参数,第一个参数就是所传入的参数

static void Main(string[] args)
{
if (args.Length > 0)
{
Console.WriteLine(args[0]);
}
}

转载于:https://www.cnblogs.com/tracydj/archive/2011/03/05/1971759.html

上一篇:一键启动vbox虚机


下一篇:题解 CF440A 【Forgotten Episode】