Получение 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);

эта строка дает мне "никакой процесс не связан с этим объектом." ошибка. Есть идеи, почему возникает эта ошибка?

2 ответов


этого Система.Диагностика.Процесс.GetProcessesByName ("имяпроцесса") [0].Id.


Проверьте возвращаемое значение