Есть ли способ проверить, была ли программа c# открыта файлом с соответствующим расширением? - PullRequest
0 голосов
/ 05 мая 2020

Я хочу проверить, открывалась ли моя 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();
    }
}

Я уже связал расширение.
enter image description here

1 Ответ

1 голос
/ 05 мая 2020

Если вы хотите найти файл, который был дважды нажат (или иным образом "выполнен"), который запустил вашу программу:

В 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));
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...