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).
Action recommandée
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.