Получение 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);
Эта линия дает мне «Нет процесса связан с этим объектом». ошибка. Есть идеи относительно того, почему возникает эта ошибка?
Решение
Делайте эту систему.diagnostics.process.getProcessesByName ("processName") [0] .id.
Другие советы
Проверьте возвращаемое значение Process.start. Анкет В некоторых случаях Process.Start может вернуть false, и в этом случае с ним не будет связан идентификатор.
Не связан с StackOverflow