C # - новый процесс авто будет убит, когда я вызываю System.Diagnostics.Process.Start - PullRequest
0 голосов
/ 03 сентября 2018

Я вызываю новый процесс (приложение C #) из текущего приложения C #, я использую:

Process proc = new Process();
proc.StartInfo.FileName = "cmd.exe";
proc.StartInfo.Arguments = "/c "+filePath;
proc.StartInfo.WindowStyle = ProcessWindowStyle.Hidden;
proc.Start();
proc.WaitForExit();

Я вижу новый процесс в диспетчере задач, но он будет немедленно убит

Я решил это с кодом:

ProcessStartInfo psi = new ProcessStartInfo();
psi.WorkingDirectory = Path.GetDirectoryName(filePath);
psi.FileName = filePath;
psi.ErrorDialog = true;
psi.UseShellExecute = false;
psi.RedirectStandardOutput = true;
psi.RedirectStandardError = true;
Process proc = Process.Start(psi);

1 Ответ

0 голосов
/ 03 сентября 2018

Вы также можете запустить приложение, используя команду "cmd.exe" в System.Diagnostic.Process используя:

 System.Diagnostic.Process.Start("cmd.exe /C "+filepath);

эта команда будет запущена и закроет cmd после запуска вашей программы. если вы хотите дождаться результата (возможно, ошибки), вы можете использовать:

 System.Diagnostic.Process.Start("cmd.exe /K "+filepath);
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...