ProcessStartInfo.WindowStyle honrado quando UseShellExecute é falso
Anteriormente, WindowStyle só era homenageado quando UseShellExecute era true
. Esta mudança honra WindowStyle 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 era visível, não escondida.
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 é honrado até mesmo para processos iniciados com UseShellExecute = false
o .
O código da seção Comportamento anterior inicia o processo com a janela oculta.
Versão introduzida
.NET 8 Visualização 6
Tipo de mudança de rutura
Esta mudança é uma mudança comportamental.
Razão para a alteração
Alguns cenários exigem a alteração do estilo da janela do processo gerado (especialmente para ocultá-la).
Ação recomendada
Essa alteração afeta o código especificado WindowStyle mesmo quando ele não foi suportado corretamente. Por exemplo, a ordem de disparo de eventos do WPF agora é alterada. Para atenuar a alteração de rutura, não especifique WindowStyle
em ProcessStartInfo.