ProcessStartInfo.WindowStyle se respektuje, pokud je hodnota UseShellExecute false

Dříve, byl ctěn pouze tehdy, WindowStyle když UseShellExecute byl true. Tato změna respektuje WindowStyle , i když UseShellExecute je false.

Předchozí chování

Před touto změnou následující kód spustil proces, jako by WindowStyle nebyl zadán, protože UseShellExecute = false. To znamená, že okno bylo viditelné, ne skryté.

using System.Diagnostics;

ProcessStartInfo startInfo = new()
{
    FileName = @"C:\Windows\System32\notepad.exe",
    UseShellExecute = false,
    WindowStyle = ProcessWindowStyle.Hidden
};

var process = Process.Start(startInfo);
process!.WaitForExit();

Nové chování

Počínaje rozhraním .NET 8 WindowStyle je ctěn i pro procesy zahájené UseShellExecute = false.

Kód z předchozí části chování spustí proces se skrytým oknem.

Zavedená verze

.NET 8 Preview 6

Typ zásadní změny

Tato změna je změna chování.

Důvod změny

Některé scénáře vyžadují změnu stylu okna vytvářeného procesu (zejména pro skrytí).

Tato změna má vliv na kód, který byl zadán WindowStyle , i když nebyl správně podporovaný. Například pořadí aktivací události WPF je nyní změněno. Pokud chcete zmírnit změnu způsobující chybu, nezadávejte WindowStyle v ProcessStartInfopoli .

Ovlivněná rozhraní API