当前位置:  编程技术>.net/c#/asp.net

C#在IE右键菜单中添加自定义项的实现代码

    来源: 互联网  发布时间:2014-08-30

    本文导语:  首先,增加注册表项 HKEY_CURRENT_USERSoftwareMicrosoftInternet ExplorerMenuExtMyApp MyApp为要显示在右键菜单中的名称 VBScript处理脚本,新增的注册表项的默认值是包含这个VBScript脚本的Html页面地址。 1、添加注册表项:   /// /// 在IE中...

首先,增加注册表项 HKEY_CURRENT_USERSoftwareMicrosoftInternet ExplorerMenuExtMyApp
MyApp为要显示在右键菜单中的名称
VBScript处理脚本,新增的注册表项的默认值是包含这个VBScript脚本的Html页面地址。

1、添加注册表项:
 

/// 
/// 在IE中增加右键菜单
/// 
static void RegistryIeContextMenu() {
try {
string regkey = @"SoftwareMicrosoftInternet ExplorerMenuExtMyApp";
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());
}
}

2、脚本geturl.htm
 

代码示例:


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 test@")
end if
end sub

call OnContextMenu()


    
 
 

您可能感兴趣的文章:

 
本站(WWW.)旨在分享和传播互联网科技相关的资讯和技术,将尽最大努力为读者提供更好的信息聚合和浏览方式。
本站(WWW.)站内文章除注明原创外,均为转载、整理或搜集自网络。欢迎任何形式的转载,转载请注明出处。












  • 相关文章推荐
  • C#添加鼠标右键菜单的方法介绍
  • C#自定义控件添加右键菜单的实现代码
  • C# winform treeview添加右键菜单并选中节点的方法
  • C# TreeView控件右键菜单获得当前节点的问题
  • C#上下文菜单 右键菜单 ContextMenuStrip用法及实例
  • c# TreeView添加右键快键菜单的二个方法
  • c# TreeView添加右键快键菜单有两种方法
  • C# WebBrowser控件禁用超链接、右键菜单和快捷键的方法
  • C#创建右键菜单方法与示例
  • C#屏蔽ComboBox系统右键菜单的实现代码
  • C# 注册右键菜单、文件夹与文件的实现代码
  • C#正则表达式获取下拉菜单(select)的相关属性值
  • 基于C#实现的仿windows左侧伸缩菜单效果
  • asp.net(C#)生成无限级别菜单的代码
  • c# winform读取xml文件创建菜单的代码
  • 使用c#开发公众平台自定义菜单功能
  • 急!!!关于菜单的问题:怎样知道某一菜单项的在该菜单中的位置序号?
  • Glade的问题,为什么添加了一个菜单之后,一选择编辑菜单,Glade就死?
  • 关于动态菜单项,注意,不是动态菜单(一定给分)
  • 用Java如何在有菜单和按钮的情况下显示JPG图形文件,而菜单和按钮仍可见????
  • fedroa8 中文菜单变成英文菜单了?求解
  • jbuilder中为Application的框架添加一个菜单JMenuBar,运行后却没有看见菜单,why?
  • 为什么application中菜单的子菜单总被其他控件覆盖,如何解决?
  • redhat下为一程序在应用程序->internet菜单里建立一个快捷方式(菜单项),为何点击后提示权限不够?
  • 用Java如何在有菜单和按钮的情况下显示JPG图形文件(要求有垂直和水平的滚动条),而菜单和按钮仍可见????
  • 为什么我进入linux7.2以后,无法看到底部的菜单(包括开始菜单),总之什么都没有,怎么解决?
  • 痛哭!!!装了共创桌面后,因为分割了一个分区,导致无法进入系统选择菜单,把共创格式化后,重装原来的windows都无法进入系统选择菜单
  • jquery下拉菜单效果 jquery点击弹出下拉菜单的例子
  • jquery下拉菜单 ul标签下拉菜单的例子
  • 为什么application中菜单的子菜单总被其他控件覆盖,如何解决? iis7站长之家
  • DVD 菜单制作工具 DVDStyler


  • 站内导航:


    特别声明:169IT网站部分信息来自互联网,如果侵犯您的权利,请及时告知,本站将立即删除!

    ©2012-2021,,E-mail:www_#163.com(请将#改为@)

    浙ICP备11055608号-3