有没有办法检查 c# 程序是否由具有关联扩展名的文件打开?

Is there a way to check wheather the c# program was opened by a file with associated extension?

我想检查我的 C# 程序是否被具有关联扩展名的文件打开。如果程序是由该文件打开的,它应该执行该函数:

public void openFile(String pathToFile) {
    if (File.Exists(pathToFile)) {
        int counter = 0;
        string line;

        StreamReader file = new System.IO.StreamReader(pathToFile);

        while ((line = file.ReadLine()) != null) {
            listBox1.Items.Add(line);
            counter++;
        }

        file.Close();
    }
}

我已经关联了分机。

如果您要查找启动程序的双击文件(或其他 "executed"):

program.cs 中将 static void Main() 替换为 static void Main(string[] args)。这将允许您查看传递给您的程序的参数。第一个参数 (args[0]) 将是被双击的文件的名称。

这是我写的一个快速测试:

static void Main(string[] args)
{

  Application.EnableVisualStyles();
  Application.SetCompatibleTextRenderingDefault(false);
  for (int i = 0; i < args.Length; i++) MessageBox.Show("args[" + i.ToString() + "]: " + args[i]);
  Application.Run(new Form1(args));
}