在浏览器中添加自定义右键菜单只需注册注册表就可以了
在注册表Software\Microsoft\Internet Explorer\MenuExt下注册
注册自定义右键菜单需要完成以下 3 步
1. 在Software\Microsoft\Internet Explorer\MenuExt下新建自定义菜单
2. 为自定义菜单设置默认值
3. 设置Contexts 的值,用于设置新增选项应该在浏览器处于何种状态
默认情况下设置为
“01” 表示在任何情况下单击右键都出现
“02” 表示在图像上右键单击时才出现
“04” 表示在控制物件上右键单击出现
“08” 表示在表格上右键单击出现
“10” 表示在选中文本后右键单击出现
/// <summary>
/// 注册右键菜单
/// </summary>
/// <param name="itemName">右键菜单名称</param>
/// <param name="assoCreatedProgramFullPath">程序所在路径</param>
private static void AddFileContextMenuItem(string itemName, string assoCreatedProgramFullPath)
{
try
{
string regkey = @"Software\Microsoft\Internet Explorer\MenuExt\IETextMenu";
string scriptPath = @"E:\IEMenu.htm"; //在这里需要指定html文件,html文件中用脚本语言实现要实现的功能。因为浏览器中注册右键菜单不支持exe文件,但是支持脚本语言
RegistryKey root = Registry.CurrentUser.OpenSubKey(regkey);
if(root == null)
{
root = Registry.CurrentUser.CreateSubKey(regkey);
root.SetValue("", scriptPath, RegistryValueKind.String); //设置默认值 默认值要指向所实现自定义右键菜单功能的html
root.SetValue("Contexts",0x00000002,RegistryValueKind.DWord); //设置Contexts的值
}
}
catch (Exception ex)
{
// Recod(@"E:\Menu.txt", "注册右键菜单异常");
}
}