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(); 
}