Delen via


ProcessStartInfo.WindowStyle gehonoreerd wanneer UseShellExecute onwaar is

WindowStyle Voorheen werd alleen gehonoreerd toen trueUseShellExecute . Deze wijziging eert WindowStyle zelfs wanneer UseShellExecute .false

Vorig gedrag

Vóór deze wijziging is het proces WindowStyle met de volgende code gestart alsof het niet was opgegeven, omdat UseShellExecute = false. Dat wil gezegd, het venster was zichtbaar, niet verborgen.

using System.Diagnostics;

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

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

Nieuw gedrag

Vanaf .NET 8 wordt WindowStyle zelfs voldaan aan processen die zijn gestart.UseShellExecute = false

De code uit de sectie Vorige gedrag start het proces met het venster verborgen.

Versie geïntroduceerd

.NET 8 Preview 6

Type wijziging die fouten veroorzaken

Deze wijziging is een gedragswijziging.

Reden voor wijziging

Voor sommige scenario's moet de stijl van het venster van het spawedproces worden gewijzigd (met name om het te verbergen).

Deze wijziging is van invloed op code die is opgegeven WindowStyle , zelfs wanneer deze niet correct werd ondersteund. De volgorde van het activeren van gebeurtenissen in WPF wordt bijvoorbeeld gewijzigd. Als u de wijziging die fouten veroorzaken wilt beperken, moet u niet opgeven WindowStyle in ProcessStartInfo.

Betrokken API's