Откройте файл и загрузите его - PullRequest
2 голосов
/ 27 октября 2011

Я создаю программу, которая использует определенный тип файла, и я связал этот тип файла с программой, но когда я щелкаю файл, он только запускает программу, но не загружает файл, который я щелкнул,Как я могу заставить мою программу загрузить файл?

Ответы [ 3 ]

3 голосов
/ 27 октября 2011

Когда вы открываете файл, связанный с вашим приложением, путь к файлу передается в вашу программу в качестве аргумента командной строки.Вы можете загрузить файл самостоятельно так:

string fileName = Environment.GetCommandLineArgs()[0];
2 голосов
/ 27 октября 2011

В вашем приложении вы должны использовать Main(string[] args) и получать из аргументов args передаваемые в ваше приложение.
Вот пример:

static void Main(string[] args)
{
    if (args.Length == 0) return;
    string text = File.ReadAllText(args[0]);
}
1 голос
/ 27 октября 2011

Вы можете использовать static void Main(string[] args), чтобы получить имя файла.

Я бы сделал что-то вроде этого:

где-то в вашем коде у вас должна быть строковая переменная, в которой хранится полученное имя файла private string filename;

static void Main(string[] args) {
  // first check if there are arguments
  if (args.length > 0)
  {
     // check if the filename has the right extension
     if (args[0].EndsWith(".ext"))
     {
        // check for existence
        if (System.IO.File.Exists(args[0]))
        {
           // it exists.. so store the filename in the previously defined variable
           filename = args[0];
        }
     }
  }
}

Таким образом, вы можете использовать один вид логики, когда переменная имени файла имеет содержимое, и другой вид логики, когда ее нет.

Надеюсь, что вы можете использовать это.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...