ProcessStartInfo.WindowStyle se respeta cuando UseShellExecute es false
Anteriormente, solo se respetaba WindowStyle cuando UseShellExecute era true
. Este cambio respeta WindowStyle incluso cuando UseShellExecute es false
.
Comportamiento anterior
Antes de este cambio, el siguiente código inició el proceso como si WindowStyle no se hubiera especificado, porque UseShellExecute = false
. Es decir, la ventana estaba visible, no oculta.
using System.Diagnostics;
ProcessStartInfo startInfo = new()
{
FileName = @"C:\Windows\System32\notepad.exe",
UseShellExecute = false,
WindowStyle = ProcessWindowStyle.Hidden
};
var process = Process.Start(startInfo);
process!.WaitForExit();
Comportamiento nuevo
A partir de .NET 8, WindowStyle se respeta incluso para los procesos iniciados con UseShellExecute = false
.
El código de la sección Comportamiento anterior inicia el proceso con la ventana oculta.
Versión introducida
.NET 8 Versión preliminar 6
Tipo de cambio importante
Este es un cambio de funcionamiento.
Motivo del cambio
Algunos escenarios requieren cambiar el estilo de la ventana del proceso generado (especialmente para ocultarlo).
Acción recomendada
Este cambio afecta al código especificado WindowStyle incluso cuando no se admitía correctamente. Por ejemplo, el orden de activación de eventos de WPF ahora se modifica. Para mitigar el cambio importante, no especifique WindowStyle
en ProcessStartInfo.