ProcessStartInfo.WindowStyle honrado quando UseShellExecute é falso
Anteriormente, WindowStyle só era respeitado quando UseShellExecute era true
. Com essa mudança, WindowStyle é respeitado mesmo quando UseShellExecute é false
.
Comportamento anterior
Antes dessa alteração, o código a seguir iniciava o processo como se WindowStyle não tivesse sido especificado, porque UseShellExecute = false
. Ou seja, a janela ficava visível, não 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();
Novo comportamento
A partir do .NET 8, WindowStyle é respeitado até mesmo pelos processos iniciados com UseShellExecute = false
.
O código da seção Comportamento anterior inicia o processo com a janela oculta.
Versão introduzida
.NET 8 versão prévia 6
Tipo de alteração interruptiva
Esta é uma alteração comportamental.
Motivo da alteração
Alguns cenários exigem a alteração do estilo da janela do processo gerado (especialmente para ocultá-lo).
Ação recomendada
Essa alteração afeta o código que especificava WindowStyle mesmo quando ele não tinha suporte adequado. Por exemplo, agora a ordem de acionamento de eventos do WPF é alterada. Para atenuar a alteração interruptiva, não especifique WindowStyle
em ProcessStartInfo.