using Microsoft.Win32;
private void AddFileContextMenuItem(string itemName, string associatedProgramFullPath)
{
//创建项:shell
RegistryKey shellKey = Registry.ClassesRoot.OpenSubKey(@"*\shell",true);
if (shellKey == null)
{
shellKey = Registry.ClassesRoot.CreateSubKey(@"*\shell");
}
//创建项:右键显示的菜单名称
RegistryKey rightCommondKey = shellKey.CreateSubKey(itemName);
RegistryKey associatedProgramKey= rightCommondKey.CreateSubKey("command");
//创建默认值:关联的程序
associatedProgramKey.SetValue(string.Empty, associatedProgramFullPath);
//刷新到磁盘并释放资源
associatedProgramKey.Close();
rightCommondKey.Close();
shellKey.Close();
}
private void AddDirectoryContextMenuItem(string itemName, string associatedProgramFullPath)
{
//创建项:shell
RegistryKey shellKey = Registry.ClassesRoot.OpenSubKey(@"directory\shell", true);
if (shellKey == null)
{
shellKey = Registry.ClassesRoot.CreateSubKey(@"*\shell");
}
//创建项:右键显示的菜单名称
RegistryKey rightCommondKey = shellKey.CreateSubKey(itemName);
RegistryKey associatedProgramKey = rightCommondKey.CreateSubKey("command");
//创建默认值:关联的程序
associatedProgramKey.SetValue("", associatedProgramFullPath);
//刷新到磁盘并释放资源
associatedProgramKey.Close();
rightCommondKey.Close();
shellKey.Close();
}