Obtener un PID de un proceso creado en C#
Pregunta
Digamos que estoy tratando de crear un nuevo proceso con el siguiente código:
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();
Y justo en la siguiente línea, intentaré obtener un PID de ese proceso con la siguiente línea:
MessageBox.Show(p.Id);
Esta línea me está dando el "ningún proceso está asociado con este objeto". error. ¿Alguna idea de por qué ocurre este error?
Solución
Haga este sistema.diagnostics.process.getProcessesByName ("ProcessName") [0] .id.
Otros consejos
Verifique el valor de retorno de Proceso.. En algunos casos, el proceso.
Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow