使用C sharp在记事本中打开所有.xml文件

时间:2011-08-03 10:20:18

标签: c# file notepad

我知道如果我写System.Diagnostics.Process.Start(“notepad.exe”,“text.txt”);某个文件将在记事本中打开。我想在记事本中打开所有带有.xml扩展名的文件。我有一个用C#编写的程序,该程序可以浏览文件,如果我点击双击,它们将打开默认的程序窗口集。现在我不想改变那个默认程序,我只想写一些代码用记事本打开所有.xml程序(仅在程序打开时)

3 个答案:

答案 0 :(得分:4)

没有这样直接的方法,工作场所是每当你启动你的应用程序时,更新注册表“我想在HKEY_CLASSES_ROOT下的东西”打开文件扩展名“xml”与你的程序想要“记事本”。在程序退出之前重新分配该默认程序。但是,如果您的程序未成功终止,则默认设置将与您之前设置的一样。

答案 1 :(得分:2)

您可以通过执行以下步骤来实现此目的,但要使这些步骤起作用,您应该可以访问注册表

  1. 首先获取default application for the xml files in the current machine并将其存储在应用程序启动的全局变量中(即通常是应用程序的主要形式加载时)
  2. 然后change the default application of the xml files in the registry to notepad or any other application of your choice
  3. 现在您已将记事本设置为打开XML文件的默认应用程序
  4. 退出应用程序时,请确保重置从第一步到注册表的全局变量中存储的默认应用程序

答案 2 :(得分:0)

是的我有点解决它。所以我从我打开文件时的路径,文件的名称,但只有最后4个字符,如果最后4个字符是“.xml”然后我写了System.Diacnostics.Process.Start(“notepad.exe”) ,pathtofile);

有效。