C# 文件关联方式

tech2022-09-05  98

/// <summary> /// 关联文件 /// </summary> /// <param name="_FilePathString">应用程序路径</param> /// <param name="p_FileTypeName">文件类型</param> private static void SaveReg(string _FilePathString, string p_FileTypeName) { RegistryKey _RegKey = Registry.ClassesRoot.OpenSubKey("", true); //打开注册表 RegistryKey _VRPkey = _RegKey.OpenSubKey(p_FileTypeName, true); 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 = "\"" + _FilePathString + "\" \"%1\""; _VRPkey.SetValue("", _PathString); //写入数据 _RegKey.CreateSubKey("DefaultIcon"); _RegKey.SetValue("", Application.StartupPath + "\\"+ "LedsMaker.ico");//这里是自定义图标 _VRPkey = _VRPkey.OpenSubKey("DefaultIcon", true); } //外部程序调用这个方法,就可以实现应用程序和后缀的关联 //这个方法执行后,双击usrExt后缀的文件,将直接打开这个应用程序。 public static void FileAssociationInit() { string str; str = Application.ExecutablePath;//获取应用程序的名称 SaveReg(str, ".usrExt");//将自定义后缀写入注册表 }
最新回复(0)