Process.Start не работает в WPF .NET 8.0 [закрыто]C#

Место общения программистов C#
Ответить
Anonymous
 Process.Start не работает в WPF .NET 8.0 [закрыто]

Сообщение Anonymous »

Я написал приложение WPF, которое генерирует G-код ЧПУ в файле .txt.
Я просто хочу, чтобы WPF открывал редактор .txt по умолчанию после создания G-кода, в моем случае это CIMCO Edit.
Итак, после создания токарной программы O12092.txt я хочу, чтобы WPF запускал текстовый редактор по умолчанию (то есть CIMCO edit) с открыт файл O12092.
Я тестировал с помощью блокнота вместо CIMCO, но безуспешно.
Я попробовал каждый ответ здесь, в StackOverflow и на других форумах. , только что достиг 10-й страницы результатов поиска Google

Код: Выделить всё

ProcessStartInfo PInfo = new ProcessStartInfo();
PInfo.FileName = "fullPathToProgram";
PInfo.UseShellExecute = true;
PInfo.RedirectStandardOutput = true;
PInfo.RedirectStandardError = true;
PInfo.WorkingDirectory = Path.GetDirectoryName("fullPathToProgram");
PInfo.Arguments = $"L:\\MyFile.txt";
Process process = System.Diagnostics.Process.Start(PInfo);
Я пробовал с рабочим каталогом, без рабочего каталога, с AppDomain.GetDir, с UseShell и без...
С именем файла просто CIMCOEdit.exe и с полным путем .
Ничего не помогло
Также пробовал использовать

Код: Выделить всё

using Process MyP = new Process();
а затем использовать экземпляр для установки конфигураций и начать с MyP.Start();
Пробовал без аргументов и т. д...< /p>

Код: Выделить всё

string FullPath = "C:\\Program Files\\CIMCO 2023\\CIMCOEdit\\CIMCOEdit.exe";
ProcessStartInfo processInfo = new ProcessStartInfo();
processInfo.WindowStyle = ProcessWindowStyle.Hidden;
processInfo.FileName = "cmd.exe";
processInfo.WorkingDirectory = Path.GetDirectoryName(FullPath);
processInfo.Arguments = "/c START " + Path.GetFileName(FullPath) + $" L:\\{Attributes[("Programa", OCs[0])]}.txt";
Process.Start(processInfo);
Приведенный выше код сработал. Как-то грустно, что они закрыли вопрос, я не могу ответить себе.
На некоторых машинах Блокнота нет ни в переменных PATH, ни в CIMCO, их добавление решает проблему, обходной путь - запустить CMD и использование строковых аргументов

Подробнее здесь: https://stackoverflow.com/questions/793 ... pf-net-8-0
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «C#»