Получение pid процесса создается в C#

Позволяет говорят, что я пытаюсь создать новый процесс со следующим кодом:

System.Diagnostics.Process p = new System.Diagnostics.Process();
p.StartInfo.WorkingDirectory = System.IO.Path.GetDirectoryName(System.Reflection.Assembly.GetExecutingAssembly().GetName().CodeBase);
p.StartInfo.FileName = System.IO.Path.GetDirectoryName(System.Reflection.Assembly.GetExecutingAssembly().GetName().CodeBase) + "\\AwesomeFile.exe";
p.StartInfo.Arguments = "parameter1 parameter2";
p.StartInfo.CreateNoWindow = true;
p.Start();

и прямо в следующей строке, я попытаюсь получить pid того процесса со следующей строкой:

MessageBox.Show(p.Id);

Эта строка дает мне, "Никакой процесс не связан с этим объектом". ошибка. Какая-либо идея относительно того, почему эта ошибка происходит?

6
задан screenshot345 29 March 2010 в 17:27
поделиться

2 ответа

Сделайте это System.Diagnostics.Process.GetProcessesByName ("processname") [0] .Id.

3
ответ дан 8 December 2019 в 18:34
поделиться

Проверьте возвращаемое значение Process.Start . В некоторых случаях Process.Start может возвращать false, и в этом случае с ним не будет связан идентификатор.

10
ответ дан 8 December 2019 в 18:34
поделиться
Другие вопросы по тегам:

Похожие вопросы: