Откройте файл с помощью блокнота в C # - PullRequest
105 голосов
/ 29 октября 2010

Как мне открыть файл в c #? Я не имею в виду чтение текстовых и readline (). Я имею в виду открыть его как отдельный файл в блокноте.

Ответы [ 6 ]

170 голосов
/ 29 октября 2010

Вам нужно System.Diagnostics.Process.Start().

Простейший пример:

Process.Start("notepad.exe", fileName);

Более общий подход:

Process.Start(fileName);

Второй подход, вероятно, является лучшей практикой, так какэто заставит Windows Shell открыть ваш файл с соответствующим редактором.Кроме того, если указанный файл не имеет связи, он будет использовать диалоговое окно Open With... из окон.

Примечание для тех, кто в комментариях, спасибо за ваш ввод.Мой быстрый и грязный ответ немного отклонился, я обновил ответ, чтобы отразить правильный путь.

26 голосов
/ 29 октября 2010

Вы не предоставляете много информации, но при условии, что вы хотите открыть любой файл на вашем компьютере с приложением, которое указано для обработчика по умолчанию для этого типа файла, Вы можете использовать что-то вроде этого:

var fileToOpen = "SomeFilePathHere";
var process = new Process();
process.StartInfo = new ProcessStartInfo()
{
    UseShellExecute = true,
    FileName = fileToOpen
};

process.Start();
process.WaitForExit();

Параметр UseShellExecute указывает Windows использовать программу по умолчанию для типа открываемого файла.

WaitForExit заставит ваше приложение ждать, пока закрытое вами приложение не будет закрыто.

26 голосов
/ 29 октября 2010

при этом откроется файл с программой Windows по умолчанию (блокнот, если вы его не меняли);

Process.Start(@"c:\myfile.txt")
15 голосов
/ 29 октября 2010
System.Diagnostics.Process.Start( "notepad.exe", "text.txt");
12 голосов
/ 29 октября 2010

Вы можете использовать Process.Start, вызывая notepad.exe с файлом в качестве параметра.

 Process.Start(@"notepad.exe", pathToFile);
8 голосов
/ 29 октября 2010

Используйте System.Diagnostics.Process для запуска экземпляра Notepad.exe.

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