Partager via


Propriété System.Diagnostics.ProcessStartInfo.UseShellExecute

Cet article vous offre des remarques complémentaires à la documentation de référence pour cette API.

La ProcessStartInfo classe spécifie un ensemble de valeurs utilisées lors du démarrage d’un processus.

Définir la UseShellExecute propriété pour false vous permettre de rediriger les flux d’entrée, de sortie et d’erreur.

Le mot « shell » dans ce contexte (UseShellExecute) fait référence à un interpréteur de commandes graphique (similaire à l’interpréteur de commandes Windows) plutôt qu’à des interpréteurs de commandes (par exemple, bash ou sh) et permet aux utilisateurs de lancer des applications graphiques ou d’ouvrir des documents.

Remarque

UseShellExecute doit être false si la UserName propriété n’est pas ou n’est pas null une chaîne vide, ou si une InvalidOperationExceptionProcess.Start(ProcessStartInfo) méthode est appelée.

Lorsque vous utilisez l’interpréteur de commandes du système d’exploitation pour démarrer des processus, vous pouvez démarrer n’importe quel document (qui est tout type de fichier inscrit associé à un exécutable disposant d’une action ouverte par défaut) et effectuer des opérations sur le fichier, telles que l’impression, à l’aide de l’objet Process . Quand UseShellExecute c’est falsele cas, vous pouvez démarrer uniquement des exécutables à l’aide de l’objet Process .

Remarque

UseShellExecute doit être true si vous définissez la ErrorDialog propriété sur true.

WorkingDirectory

La WorkingDirectory propriété se comporte différemment en fonction de la valeur de la UseShellExecute propriété. Quand UseShellExecute c’est truele cas, la WorkingDirectory propriété spécifie l’emplacement de l’exécutable. S’il WorkingDirectory s’agit d’une chaîne vide, il est supposé que le répertoire actif contient l’exécutable.

Quand UseShellExecute c’est falsele cas, la WorkingDirectory propriété n’est pas utilisée pour rechercher l’exécutable. Au lieu de cela, il est utilisé uniquement par le processus démarré et a une signification uniquement dans le contexte du nouveau processus. Quand UseShellExecute c’est falsele cas, la FileName propriété peut être un chemin complet vers l’exécutable, ou un nom exécutable simple que le système tentera de trouver dans les dossiers spécifiés par la PATH variable d’environnement. L’interprétation du chemin de recherche dépend du système d’exploitation. Pour plus d’informations, entrez HELP PATH ou man sh à l’invite de commandes.