如何添加与WinForm关联的打开和读取文本文件?

时间:2014-09-19 17:50:13

标签: c# windows winforms file

所以我的winform与自定义文件格式(.abc)相关联。我如何拥有它,以便在单击text.abc时,winform运行并获取text.abc的内容。

它只是作为参数传递吗?

2 个答案:

答案 0 :(得分:1)

首先,您需要注册自定义文件扩展名,看一下这篇文章:

Associate File Extension with Application

然后在你的Windows应用程序中你可以读取这样的命令参数:

    private void Form1_Load(object sender, EventArgs e)
    {
        foreach (var item in Environment.GetCommandLineArgs())
        {
            Debug.WriteLine(item);
        }
    }

答案 1 :(得分:1)

如果您已正确注册特定扩展名的应用程序,那么如果用户双击具有该扩展名的文件,则SO会调用您的应用程序并传递一个双击文件名的命令行参数。 该框架还使用传递的命令行初始化Environment.CommandLine属性。 您可以在程序中的任何位置检索此属性,也可以使用Environment.GetCommandLineArgs数组。请记住,此数组的第一个元素与程序名称相等,参数从第二个元素开始。

您应该使用控制台应用程序中的参数编写主入口点

static void Main(string[] args)
{
    if(args.Length > 0)
    {
        // command line passed 
        string fileToProcess = args[0];
        if(Path.GetExtension(fileToProcess) == ".abc")
        {
           // Whatever
        }

    }
}