#c# #.net
#c# #.net
Вопрос:
Я пытаюсь практиковать этот класс процесса, но это был провал, так как я не мог понять, как правильно писать имена файлов и пути.
Это то, что я пытаюсь сделать, но каждый раз я получаю одну и ту же ошибку: необработанное исключение. Система.ComponentModel.Win32Exception (2): нет такого файла или каталога
Process.Start("/Applications/Utilities/TextEdit.app/Contents/MacOS/TextEdit");
Я пробовал разные пути, которые не сильно отличались от этого, но, как я уже сказал, я не знал, что с этим делать.
Знаете ли вы, каков точный способ сделать это?
Комментарии:
1. В именах файлов и каталогов в качестве разделителя используется обратная косая черта. Вы используете косую черту вперед. Кроме того, вам необходимо указать полное имя файла, включая его расширение (которое может быть скрыто в проводнике Windows).
2. @JohnWu Предположительно, если они работают на компьютере Mac, пути не будут использовать обратную косую черту, и у них нет проводника Windows
3. На моей машине с Linux
Process.Start("/path/to/executable")
это работает, поэтому я не думаю, что это проблема форматирования пути. ЯвляетсяTextEdit
ли сам по себе исполняемым файлом?4. @bisen2 Привет, я понял это. Это все из-за проблемы с путем. Ошибка, которую я получил, была полностью правильной. Такого пути нет, и правильный способ сделать это — /System/Applications/TextEdit.app/Contents/macOS/Textedit, по крайней мере, на Catalina.
Ответ №1:
пожалуйста, используйте этот код :
using (Process myProcess = new Process())
{
myProcess.StartInfo.UseShellExecute = true;
myProcess.StartInfo.FileName = fileName;
myProcess.StartInfo.CreateNoWindow = false;
myProcess.Start();
}