/// <summary> /// Associates a single executable with a list of extensions. /// </summary> /// <param name="progId">Name of program id</param> /// <param name="executablePath">Path to executable to start including arguments.</param> /// <param name="extensions">String array of extensions to associate with program id.</param> /// <example>progId = "MyTextFile" /// executablePath = "notepad.exe %1" /// extensions = ".txt", ".text"</example> public void Associate(string progId, string executablePath, params string[] extensions ) { foreach (string s in extensions) { FileAssociationInfo fai = new FileAssociationInfo(s); if (!fai.Exists) fai.Create(progId); fai.ProgID = progId; } ProgramAssociationInfo pai = new ProgramAssociationInfo(progId); if (!pai.Exists) pai.Create(); pai.AddVerb(new ProgramVerb("open", executablePath)); }
/// <summary> /// Associates a single executable with a list of extensions. /// </summary> /// <param name="progId">Name of program id</param> /// <param name="executablePath">Path to executable to start including arguments.</param> /// <param name="extensions">String array of extensions to associate with program id.</param> /// <example>progId = "MyTextFile" /// executablePath = "notepad.exe %1" /// extensions = ".txt", ".text"</example> public void Associate(string progId, string executablePath, params string[] extensions) { foreach (string s in extensions) { FileAssociationInfo fai = new FileAssociationInfo(s); if (!fai.Exists) { fai.Create(progId); } fai.ProgID = progId; } ProgramAssociationInfo pai = new ProgramAssociationInfo(progId); if (!pai.Exists) { pai.Create(); } pai.AddVerb(new ProgramVerb("open", executablePath)); }
private static void RegisterFileType(string extensionType) { string id = "ilSFV-" + extensionType.ToUpper(); FileAssociationInfo fai = new FileAssociationInfo("." + extensionType.ToLower()); if (fai.Exists) fai.Delete(); fai.Create(id); string path = Assembly.GetExecutingAssembly().Location; ProgramAssociationInfo pai = new ProgramAssociationInfo(fai.ProgID); if (pai.Exists) pai.Delete(); pai.Create ( string.Format("{0} File", extensionType.ToUpper()), new ProgramVerb("Open", path + " \"%1\"") ); /*RegistryWrapper reg = new RegistryWrapper(); reg.Write(string.Format(@"{0}\shell\ilSFV", id), "MUIVerb", "ilSFV"); reg.Write(string.Format(@"{0}\shell\ilSFV", id), "MultiSelectModel", "Single"); reg.Write(string.Format(@"{0}\shell\ilSFV", id), "SubCommands", "ilsfv.verify");*/ }