studio - Proceso de lanzamiento en C#sin ventana de consola de distracción
no cerrar consola c# (4)
Descubro cómo lanzar un proceso. Pero mi problema ahora es que la ventana de la consola (en este caso 7z) aparece de frente bloqueando mi visión y eliminando mi foco interrumpiendo mi oración o lo estoy haciendo cada pocos segundos. Es extremadamente molesto, ¿cómo evito que eso suceda? Pensé que CreateNoWindow soluciona eso pero no lo hizo.
NOTA: a veces la consola necesita la entrada del usuario (reemplazar el archivo o no). Entonces, esconderlo por completo puede ser un problema.
Este es mi código actual.
void doSomething(...)
{
myProcess.StartInfo.FileName = ...;
myProcess.StartInfo.Arguments = ...;
myProcess.StartInfo.CreateNoWindow = true;
myProcess.Start();
myProcess.WaitForExit();
}
@galets En su sugerencia, la ventana aún se crea, solo comienza a minimizarse. Esto funcionaría mejor para hacer realmente lo que acidzombie24 quería:
myProcess.StartInfo.WindowStyle = ProcessWindowStyle.Hidden;
Prueba esto:
myProcess.StartInfo.WindowStyle = ProcessWindowStyle.Minimized;
Si recuerdo correctamente, esto funcionó para mí
Process process = new Process();
// Stop the process from opening a new window
process.StartInfo.RedirectStandardOutput = true;
process.StartInfo.UseShellExecute = false;
process.StartInfo.CreateNoWindow = true;
// Setup executable and parameters
process.StartInfo.FileName = @"c:/test.exe"
process.StartInfo.Arguments = "--test";
// Go
process.Start();
He estado usando esto desde una aplicación de consola C # para iniciar otro proceso, y la aplicación se detiene para que no se inicie en una ventana separada, manteniendo todo en la misma ventana.
Tendré que verificarlo dos veces, pero creo que también debe establecer UseShellExecute = false
. Esto también le permite capturar los flujos de salida / error estándar.