【问题标题】:Make all .xml files open in notepad in C sharp [closed]用 C 语言在记事本中打开所有 .xml 文件 [关闭]
【发布时间】:2011-08-05 13:04:50
【问题描述】:

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

【问题讨论】:

  • 你的意思是,当程序运行时,如果我在资源管理器中双击一个xml文件,它应该在记事本中打开?还是只有从您的应用程序打开的文件才能在记事本中打开?
  • 我不确定记事本能否支持打开多个文件。您想在多个记事本会话中打开所有 xml 文件吗?或者您想更改 .xml 默认的“打开程序”窗口关联?
  • 听起来很糟糕的用户体验。
  • 这取决于用户的系统设置。您需要从 .xml 文件扩展名更改默认程序。当然,任何未经我许可执行此操作的程序(除了它自己的文件扩展名)都不会被我使用。

标签: c# file notepad


【解决方案1】:

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

【讨论】:

    【解决方案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. 退出应用程序时,请确保将您在第一步中存储在全局变量中的默认应用程序重置为注册表

    【讨论】:

      【解决方案3】:

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

      成功了。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2017-06-04
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2012-02-17
        • 1970-01-01
        相关资源
        最近更新 更多