/// <summary> /// Associates an already existing program id with a list of extensions. /// </summary> /// <param name="progId">The program id to associate extensions with.</param> /// <param name="extensions">String array of extensions to associate with program id.</param> public void Associate(string progId, params string[] extensions) { foreach (var s in extensions) { var fai = new FileAssociationInfo(s); if (!fai.Exists) { fai.Create(progId); } fai.ProgId = progId; } }
/// <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 (var s in extensions) { var fai = new FileAssociationInfo(s); if (!fai.Exists) { fai.Create(progId); } fai.ProgId = progId; } var pai = new ProgramAssociationInfo(progId); if (!pai.Exists) { pai.Create(); } pai.AddVerb(new ProgramVerb("open", executablePath)); }