Вопрос

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

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, и в этом случае с ним не будет связан идентификатор.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top