C#操作注册表建立文件关联
2008-12-19 11:46
429 查看
提供两个方法 建立个是删除文件关联
使用方式
ViewScreen.ViewControl.ViewDraw.SaveReg(@"C:/IVRDesigner.exe", ".vrd");
在程序中获得参数关联参数 Environment.CommandLine
方法 需要引用using Microsoft.Win32;
/// <summary>
/// 设置文件关联
/// </summary>
/// <param name="p_Filename">程序的名称</param>
/// <param name="p_FileTypeName">扩展名 .VRD </param>
public static void SaveReg(string p_Filename,string p_FileTypeName)
{
RegistryKey _RegKey = Registry.ClassesRoot.OpenSubKey("", true); //打开注册表
RegistryKey _VRPkey = _RegKey.OpenSubKey(p_FileTypeName);
if (_VRPkey != null) _RegKey.DeleteSubKey(p_FileTypeName, true);
_RegKey.CreateSubKey(p_FileTypeName);
_VRPkey = _RegKey.OpenSubKey(p_FileTypeName, true);
_VRPkey.SetValue("", "Exec");
_VRPkey = _RegKey.OpenSubKey("Exec", true);
if (_VRPkey != null) _RegKey.DeleteSubKeyTree("Exec"); //如果等于空 就删除注册表DSKJIVR
_RegKey.CreateSubKey("Exec");
_VRPkey = _RegKey.OpenSubKey("Exec", true);
_VRPkey.CreateSubKey("shell");
_VRPkey = _VRPkey.OpenSubKey("shell", true); //写入必须路径
_VRPkey.CreateSubKey("open");
_VRPkey = _VRPkey.OpenSubKey("open", true);
_VRPkey.CreateSubKey("command");
_VRPkey = _VRPkey.OpenSubKey("command", true);
string _PathString = "/"" + p_Filename + "/" /"%1/"";
_VRPkey.SetValue("", _PathString); //写入数据
}
/// <summary>
/// 删除文件关联
/// </summary>
/// <param name="p_FileTypeName">扩展名 .VRD </param>
public static void DelReg(string p_FileTypeName)
{
RegistryKey _Regkey = Registry.ClassesRoot.OpenSubKey("", true);
RegistryKey _VRPkey = _Regkey.OpenSubKey(p_FileTypeName);
if (_VRPkey != null) _Regkey.DeleteSubKey(p_FileTypeName, true);
if (_VRPkey != null) _Regkey.DeleteSubKeyTree("Exec");
}
使用方式
ViewScreen.ViewControl.ViewDraw.SaveReg(@"C:/IVRDesigner.exe", ".vrd");
在程序中获得参数关联参数 Environment.CommandLine
方法 需要引用using Microsoft.Win32;
/// <summary>
/// 设置文件关联
/// </summary>
/// <param name="p_Filename">程序的名称</param>
/// <param name="p_FileTypeName">扩展名 .VRD </param>
public static void SaveReg(string p_Filename,string p_FileTypeName)
{
RegistryKey _RegKey = Registry.ClassesRoot.OpenSubKey("", true); //打开注册表
RegistryKey _VRPkey = _RegKey.OpenSubKey(p_FileTypeName);
if (_VRPkey != null) _RegKey.DeleteSubKey(p_FileTypeName, true);
_RegKey.CreateSubKey(p_FileTypeName);
_VRPkey = _RegKey.OpenSubKey(p_FileTypeName, true);
_VRPkey.SetValue("", "Exec");
_VRPkey = _RegKey.OpenSubKey("Exec", true);
if (_VRPkey != null) _RegKey.DeleteSubKeyTree("Exec"); //如果等于空 就删除注册表DSKJIVR
_RegKey.CreateSubKey("Exec");
_VRPkey = _RegKey.OpenSubKey("Exec", true);
_VRPkey.CreateSubKey("shell");
_VRPkey = _VRPkey.OpenSubKey("shell", true); //写入必须路径
_VRPkey.CreateSubKey("open");
_VRPkey = _VRPkey.OpenSubKey("open", true);
_VRPkey.CreateSubKey("command");
_VRPkey = _VRPkey.OpenSubKey("command", true);
string _PathString = "/"" + p_Filename + "/" /"%1/"";
_VRPkey.SetValue("", _PathString); //写入数据
}
/// <summary>
/// 删除文件关联
/// </summary>
/// <param name="p_FileTypeName">扩展名 .VRD </param>
public static void DelReg(string p_FileTypeName)
{
RegistryKey _Regkey = Registry.ClassesRoot.OpenSubKey("", true);
RegistryKey _VRPkey = _Regkey.OpenSubKey(p_FileTypeName);
if (_VRPkey != null) _Regkey.DeleteSubKey(p_FileTypeName, true);
if (_VRPkey != null) _Regkey.DeleteSubKeyTree("Exec");
}
相关文章推荐
- C#操作注册表建立文件关联
- C#操作注册表建立文件关联
- Qt 操作注册表实现文件关联
- C#学习笔记21——文件、目录、注册表操作
- (C#)学习笔记1:文件和注册表操作
- C#中关于文件读写操作和注册表操作
- 文件和注册表操作(C#)
- C# 操作注册表,实现记住上次打开的文件目录
- 操作注册表进行文件类型与程序关联
- C# 简单文本文件操作 LOG
- c#操作xml文件之二
- C#文件操作
- C#学习之文件操作(1)
- c#通过操作mongodb gridfs实现文件的数据库存储
- c#中的文件读写操作
- 《C#高级编程》读书笔记(十六):文件和注册表操作
- C# 路径/文件/目录/I/O常见操作汇总收藏
- C#目录文件复制、创建操作
- C# 有关文件路径的操作
- C#对于文件的目录和路径的操作