nweiher Ответов: 5

Запуск Блокнота с известным именем файла в C#


У меня есть следующий код в моем приложении --

if (File.Exists("c:\\a.txt"))
{
  try
  {
     Process z = Process.Start("notepad c:\\a.txt");                
  }

  catch(Exception ex)
  {
      MessageBox.Show(ex.Message.ToString());
  }
}



Я получаю сообщение, в котором говорится: "система не может найти указанный файл"

Может ли кто-нибудь сказать мне, как запустить блокнот (чтобы отобразить файл)??

Wes Aday

Вам нужно передать параметр в блокнот с объектом ProcessStartInfo.

ZurdoDev

Этот способ сработает. Ошибка относится к Notepad.exe-только не в твое личное дело. Дайте полный путь к notepad.exe.

nweiher

вообще-то, у меня есть (c:\\windows\\system32\\notepad.exe c:\\a.txt") ...
Я использую Visual Studio 2008 Express Edition ... когда я набираю ProcessInfo, он утверждает, что ProcessInfo не определен-поэтому я добавил его с помощью System.Web и он все еще не может найти ProcessInfo!

Mantu Singh

Сэр;
Pls добавляет используя систему.Диагностика;

на вершине...............

5 Ответов

Рейтинг:
36

OriginalGriff

Попробуй:

Process p = new Process();
ProcessStartInfo psi = new ProcessStartInfo("Notepad.Exe", @"D:\Temp\MyLargeTextFile.txt");
p.StartInfo = psi;
p.Start();


Manfred Rudolf Bihy

Избит на одну минуту, ф-ф-ф! ;)
5+

OriginalGriff

:смех: 5 в любом случае!

Monjurul Habib

5!

Рейтинг:
2

Andy411

Рассмотрите возможность использования консоли Выполнить команду. В этом случае откроется соответствующее приложение для txt-файлов. Во многих случаях это будет стандартный блокнот windows, но некоторые люди, как и я ;-), предпочитают разные редакторы, такие как Notepad++ и т. д.

Process foo = new Process();
foo.StartInfo.UseShellExecute = true;
foo.StartInfo.FileName = "filename.txt";
foo.Start();


Рейтинг:
1

Mantu Singh

Воспользуйтесь советом Мистера Уэда

Хорошо, используйте здесь следующий код............


System.Diagnostics.ProcessStartInfo pi = new System.Diagnostics.ProcessStartInfo("notepad.exe", "D:\\reg.txt");
System.Diagnostics.Process.Start(pi);



Надеюсь, это поможет.........


Рейтинг:
1

zzzbc

использование системы.ИО;
использование системы.Диагностика;

общественного недействительными OpenNotePadPlusPlus()
{
строковое имя файла = @"C:\Users\Brian\Documents\file я хочу ... open.txt");
FileInfo fi = новый FileInfo(имя файла);
если (в интернет.Существует == ложь) вернуться;
строка fname = "\u0022"+filename+"\u0022"; // unicode для двойных кавычек
строки editorpath =
"\u0022"+@"файлы C:\Program (х86)\ноутпад + - Notepad++\Notepad++написан.ехе"+"\u0022";
Технологический процесс;
пробовать
{
процесс = процесс.Начало(editorpath,имени,);
}
улов (исключение е)
{
строка msg = ee.Message;
// сделайте что - нибудь с сообщением
вернуть;
}
процесс.WaitForExit();
// Мне нужно было вышеупомянутое ожидание, чтобы я мог повторно обработать материал после редактирования notepad++
}


Рейтинг:
0

Manfred Rudolf Bihy

У вас есть лучший контроль, используя этот метод Start(ProcessStartInfo psi)[^], но в вашем случае метод Start(String programFile, String arguments)[^] будет достаточно. Параметр programFile будет полный путь к тому, чтобы notepad.exe а файл, который вы хотите загрузить, будет указан в параметре arguments.

С уважением,

Манфред


Monjurul Habib

5!

Manfred Rudolf Bihy

Спасибо!