在C#中工作,我想启动一个过程并在默认的文本编辑程序中打开文件,该程序不一定是该文件类型的默认程序关联。
例如,说我想打开一个html文件。该文件的默认关联可能是firefox。如何在默认的文本编辑器(例如记事本,记事本++等)中打开它?
感谢您的帮助。
编辑:下面的评论说,无法设置默认的文本编辑程序。很好,有没有办法假装该文件是txt文件?
答案 0 :(得分:4)
它在注册表中:
string edit = (string)Registry.GetValue(@"HKEY_CLASSES_ROOT\SystemFileAssociations\text\shell\edit\command", null, null);
edit = edit.Replace("%1", @"c:\temp.txt");
Process.Start("cmd.exe", "/c " + edit);
这将调用您右键单击->编辑文本文件而不是右键单击->打开
时使用的命令。