waitforexit valid the start specified not for example ejemplos application c# process shellexecute

valid - system.diagnostics.process c# example



¿Cómo inicio un proceso con baja prioridad? DO# (3)

Intenta configurar PriorityClass DESPUÉS de iniciar el proceso. El Administrador de tareas funciona de esta manera, lo que le permite establecer prioridades en un proceso que ya se está ejecutando.

Quiero ejecutar una herramienta de línea de comando para procesar datos. No necesita estar bloqueando. Quiero que sea de baja prioridad. Entonces escribí el siguiente

Process app = new Process(); app.StartInfo.FileName = @"bin/convert.exe"; app.StartInfo.Arguments = TheArgs; app.PriorityClass = ProcessPriorityClass.BelowNormal; app.Start();

Sin embargo, obtengo una System.InvalidOperationException con el mensaje "Ningún proceso está asociado con este objeto". ¿Por qué? ¿Cómo inicio correctamente esta aplicación con baja prioridad?

Sin la línea app.PriorityClass = ProcessPriorityClass.BelowNormal; la aplicación funciona bien


Si está preparado para P / invocar a CreateProcess , puede pasar CREATE_SUSPENDED en los indicadores. Luego puede modificar la prioridad del proceso antes de reanudar el proceso.


Puede crear un proceso con menor prioridad haciendo un pequeño truco. Baja la prioridad del proceso principal, crea el nuevo proceso y luego vuelve a la prioridad del proceso original:

var parent = Process.GetCurrentProcess(); var original = parent.PriorityClass; parent.PriorityClass = ProcessPriorityClass.Idle; var child = Process.Start("cmd.exe"); parent.PriorityClass = original;

child tendrá la prioridad del proceso de Idle desde el principio.