C#中在IE右键菜单中添加自定义项的方法
2011-03-22 14:44
579 查看
首先需要在增加注册表项 HKEY_CURRENT_USER\Software\Microsoft\Internet Explorer\MenuExt\MyApp
MyApp为你想要显示在右键菜单中的名称
VBScript处理脚本,新增的注册表项的默认值是包含这个VBScript脚本的Html页面地址。
具体代码如下:
添加注册表项:
/**//// <summary>
/// 在IE中增加右键菜单
/// </summary>
脚本geturl.htm(我是直接在迅雷的geturl.htm基础上改的)
MyApp为你想要显示在右键菜单中的名称
VBScript处理脚本,新增的注册表项的默认值是包含这个VBScript脚本的Html页面地址。
具体代码如下:
添加注册表项:
/**//// <summary>
/// 在IE中增加右键菜单
/// </summary>
static void RegistryIeContextMenu() { try { string regkey = @"Software\Microsoft\Internet Explorer\MenuExt\MyApp"; string scriptPath = Path.Combine(AppDomain.CurrentDomain.BaseDirectory, "geturl.htm"); RegistryKey root = Registry.CurrentUser.OpenSubKey(regkey); if (null == root) { root = Registry.CurrentUser.CreateSubKey(regkey); root.SetValue("", scriptPath, RegistryValueKind.String); root.SetValue("Contexts", 0x00000022, RegistryValueKind.DWord); } } catch (Exception ex) { DFApp.LogDebug(ex.ToString()); } }
脚本geturl.htm(我是直接在迅雷的geturl.htm基础上改的)
<script language="VBScript"> Sub AddLink(Url,Info,Location) On Error Resume Next if Url <> "" then if Info = "" then Info = "unknown" end if if Len(Info) > 1000 then Info = Left(Info, 1000) end if DownloadInfo = Url "^" Info set shell = CreateObject("Wscript.Shell") shell.Run "C:\MyApp.EXE " DownloadInfo end if end sub Sub OnContextMenu() set srcEvent = external.menuArguments.event set srcLocation = external.menuArguments.location 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,srcLocation) elseif srcEvent.type="MenuExtImage" then if TypeName(EventElement)="HTMLAreaElement" then Call AddLink(EventElement.href,EventElement.Alt,srcLocation) 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,srcLocation) exit sub end if Loop Call AddLink(srcAnchor.href,srcImage.Alt,srcLocation) 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,srcLocation) exit sub end if Loop Call AddLink(srcAnchor.href,srcAnchor.innerText,srcLocation) elseif 1=1 then MsgBox("Unknown Event Source """ srcEvent.type """" vbCrLf "Please send description of error to fengliang@sandai.net") end if end sub call OnContextMenu() </script>
相关文章推荐
- C#中在IE右键菜单中添加自定义项的方法
- c# TreeView添加右键快键菜单有两种方法
- 在文件夹右键菜单中添加“进入DOS”命令的方法
- C# 如何在 Windows 文件系统中添加自定义右键菜单
- VC 添加对话框右键菜单方法
- IE右键菜单没有出现“在新选项卡中打开”的解决方法
- 在右键点击的菜单中添加选项的方法
- C# winform treeview node添加右键菜单并选中节点
- C#.NET常见问题(FAQ)-如何给Listbox添加右键菜单
- c#判断右键菜单(ContextMenuStrip)是从哪个控件弹出来的方法
- 添加删除右键菜单的方法
- C#Winform基础 为datagridview添加右键菜单
- win7系统下将Editplus添加到鼠标右键菜单的方法
- 在IE右键菜单,添加图片保存快捷方式
- 在(CListView)列表视图中添加右键菜单的方法
- 将软件添加到右键菜单 最简单的方法
- 添加IE右键菜单 以 调用和运行 自己的程序或文件
- utraledit安装之后无右键菜单--添加方法
- 【转载于<小锋刚>博客园】C#遍历ContextMenuStrip右键菜单中包含子菜单的所有菜单并添加事件
- 怎么在IE右键菜单中添加菜单项及怎么添加IE任务栏按钮