Partage via


ProcessStartInfo.WindowStyle honoré quand UseShellExecute a la valeur false

Auparavant, WindowStyle était uniquement honoré lorsque UseShellExecute était true. Ce changement honore WindowStyle même quand UseShellExecute est false.

Comportement précédent

Avant cette modification, le code suivant démarrait le processus comme s’il n’avait pas été spécifié WindowStyle, en raison de UseShellExecute = false. Autrement dit, la fenêtre était visible, et non masquée.

using System.Diagnostics;

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

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

Nouveau comportement

À compter de .NET 8, WindowStyle est honoré, même pour les processus démarrés avec UseShellExecute = false.

Le code de la section Comportement précédent démarre le processus avec la fenêtre masquée.

Version introduite

.NET 8 Preview 6

Type de changement cassant

Ce changement est un changement de comportement.

Raison du changement

Certains scénarios nécessitent un changement de style de fenêtre du processus engendré (en particulier pour le masquer).

Ce changement affecte le code spécifié WindowStyle même lorsqu’il n’a pas été correctement pris en charge. Par exemple, l’ordre de WPF du déclenchement d’événement est maintenant modifié. Pour atténuer le changement cassant, ne spécifiez pas WindowStyle dans ProcessStartInfo.

API affectées