c# - 用于启动和读取具有自定义扩展名的文件的 winform 应用程序

标签 c# winforms

我正在使用 C# 构建一个 Windows 窗体应用程序,它需要在用户单击具有自定义扩展名(例如 filename.mycustomextension)的文件时启动 我打算在 filename.mycustomextension 文件中放置一个 url。当用户点击这个文件时,我们的 winform 应用程序应该启动并读取这个文件的内容。 可以这样做吗?

最佳答案

首先,也是最明显的,您需要通过在 shell 中“打开方式”、通过安装程序或直接在注册表中将文件扩展名与应用程序相关联。

MSDN - Best Practices for File Associations

然后从那里开始就非常简单了。


   static class Program
    {    
        [STAThread]
        static void Main()
        {
            string[] args = Environment.GetCommandLineArgs(); 
            string text = File.ReadAllText(args[1]);

            // ...
        }
    }

  • args[0] 是应用程序路径。
  • args[1] 将是文件路径。
  • args[n] 将是传入的任何其他参数。

我找不到任何示例来简单地展示所有这些,但 Scott Hanselman 有一个很好的示例,通过单个实例 WinForms 应用程序加载文件,大致相同...

http://www.hanselman.com/blog/CommentView.aspx?guid=d2f676ea-025b-4fd6-ae79-80b04a34f24c

关于c# - 用于启动和读取具有自定义扩展名的文件的 winform 应用程序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2144370/

相关文章:

c# - 使用 WCF 通过网络传递查询表达式

c# - 为什么跳转到 WPF for Business Application 而不是使用 Winforms

c# - 我需要帮助以编程方式更改 WinForms 中的组合框

c# - 面板重绘

c# - 如何确定鼠标穿过矩形的哪一侧

c# - 无需每次重新验证即可保存 Tweetinvi 凭据

c# - CallMethodAction 绑定(bind)到 Button 失败

c# - 使用 Contains 构建 Lambda 表达式

c# - 游戏架构 - 耦合还是不耦合?

c# - 如何防止 WPF 中的 Winforms WebBrowser 上的触摸反馈?