Как открыть файл с моим приложением? - PullRequest
5 голосов
/ 05 февраля 2011

Хорошо, вы знаете, как в таких программах, как Microsoft Excel или Adobe Acrobat Reader, вы можете щелкнуть файл в проводнике, и он откроется вместе с соответствующей программой.Это то, что я хочу, чтобы моя заявка делала.Теперь я знаю, как настроить ассоциации файлов в Windows, чтобы она знала программу по умолчанию для каждого расширения.Мой вопрос заключается в том, как заставить приложение открывать файл, когда я дважды щелкаю файл.

Я искал в Интернете с помощью Google, я искал сайт MSDN, и я искал несколько форумов, в том числе этот, но я не нашел ничего, что объясняет, как это сделать.Я предполагаю, что это как-то связано с параметрами основного метода, но это только предположение.

Если кто-то может указать мне правильное направление, я могу взять его оттуда.Заранее спасибо за помощь.

Шейн

Ответы [ 4 ]

10 голосов
/ 05 февраля 2011

Настройка ассоциаций в Windows отправит имя файла вашему приложению в командной строке.

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

См. this и this , чтобы узнать, как получить доступ к аргументам командной строки в вашем методе main.

static void Main(string[] args)
{
    System.Console.WriteLine("Number of command line parameters = {0}", args.Length);

    foreach (string s in args)
    {
        System.Console.WriteLine(s);
    }
}
2 голосов
/ 07 февраля 2011

Я думаю, это то, что вы ищете:

FileInfo fi = new FileInfo(sfd.FileName); //the file you clicked or saved just point
                                          //to the right file location to determine
                                          //full filename with location info

// opening file
ProcessStartInfo startInfo = new ProcessStartInfo();
startInfo.FileName = @fi.FullName;
startInfo.WindowStyle = ProcessWindowStyle.Normal;

Process process = new Process();
process.StartInfo = startInfo;
process.Start();
2 голосов
/ 05 февраля 2011

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

Вы можете попробовать это простым способом, распечатавargs из вашего main метода, после того как вы откроете свое приложение, щелкнув по соответствующему файлу.0-й элемент должен быть путем к вашему файлу.

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

0 голосов
/ 05 февраля 2011

Вам нужно будет создать ключи реестра для вашего расширения файла. Эта страница хорошо описывает, какие ключи вам нужно установить (см. «3. Как создавать ассоциации файлов?»).

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