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

本文关键字:文件 xml 语言 记事本 | 更新日期: 2023-09-27 18:04:16

我知道如果我写System.Diagnostics.Process。启动("notepad.exe", "text.txt");某个文件将在记事本中打开。我想使所有的文件具有一定的扩展名,如。xml在记事本打开。我有一个用c#编写的程序,该程序可以浏览文件,如果我双击它们将打开默认设置的程序窗口。现在我不想改变默认程序,我只是想写一些代码打开所有的。xml程序与记事本(只有当程序是在)

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

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

您可以通过以下步骤实现这一点,但是要使这些步骤起作用,您应该能够访问注册表

  1. 首先获取当前机器中xml文件的默认应用程序,并将其存储在应用程序启动时的全局变量中。一般来说,这是当你的应用程序的主要形式加载)
  2. 然后将注册表中xml文件的默认应用程序更改为notepad或您选择的任何其他应用程序
  3. 现在您已经将记事本设置为打开XML文件的默认应用程序。
  4. 退出应用程序时,请确保从第一步到注册表中重置存储在全局变量中的默认应用程序

我算是解决了。所以我从打开文件时取路径,文件名,但只有最后4个字符,如果最后4个字符是"。xml",那么我写system . diagnostics . process . start ("notepad.exe",pathtofile);

它工作。