ProcessStartInfo.WindowStyle honorowany, gdy parametr UseShellExecute ma wartość false
Wcześniej był honorowany tylko wtedy, WindowStyle gdy UseShellExecute był true
. Ta zmiana honoruje WindowStyle nawet wtedy, gdy UseShellExecute ma wartość false
.
Poprzednie zachowanie
Przed tą zmianą następujący kod rozpoczął proces tak, jakby WindowStyle nie został określony, ponieważ UseShellExecute = false
. Oznacza to, że okno było widoczne, a nie ukryte.
using System.Diagnostics;
ProcessStartInfo startInfo = new()
{
FileName = @"C:\Windows\System32\notepad.exe",
UseShellExecute = false,
WindowStyle = ProcessWindowStyle.Hidden
};
var process = Process.Start(startInfo);
process!.WaitForExit();
Nowe zachowanie
Począwszy od platformy .NET 8, WindowStyle jest honorowany nawet w przypadku procesów uruchomionych z UseShellExecute = false
programem .
Kod z poprzedniej sekcji zachowania rozpoczyna proces z ukrytym oknem.
Wprowadzona wersja
.NET 8 (wersja zapoznawcza 6)
Typ zmiany powodującej niezgodność
Ta zmiana jest zmianą behawioralną.
Przyczyna wprowadzenia zmiany
Niektóre scenariusze wymagają zmiany stylu okna procesu zduplikowanego (zwłaszcza w celu ukrycia go).
Zalecana akcja
Ta zmiana ma wpływ na kod określony WindowStyle nawet wtedy, gdy nie był prawidłowo obsługiwany. Na przykład kolejność wypalania zdarzeń WPF jest teraz zmieniana. Aby wyeliminować zmianę powodującą niezgodność, nie należy określać WindowStyle
w pliku ProcessStartInfo.