2010-11-23 6 views
0

Afin d'éviter une autre fenêtre de commande de montrer, je l'ai essayé les deux méthodesdifférence entre le

1)

StartInfo.UseShellExecute = true;  
StartInfo.WindowStyle = ProcessWindowStyle.Hidden; 

2)

StartInfo.UseShellExecute = false; 

Y at-il des pros suivants suivant et les inconvénients de ces usages?

Répondre

1

Il existe plusieurs avantages de définir StartInfo.UseShellExecute sur false. L'un d'entre eux est si vous pouvez rediriger l'entrée standard, la sortie standard et l'erreur standard et lire ces flux. C'est très utile quand quelque chose ne va pas. En lisant le flux d'erreur standard, vous pouvez déterminer si une erreur s'est produite ou non.

Pour plus d'informations sur Shellexecute suivre this lien

sur la propriété StartInfo.WindowStyle, si nous gardons à l'invite de fausse commande fait apparaître lorsque le processus démarre. Si votre application dispose d'une interface utilisateur riche et agréable, une fenêtre noire apparaît soudainement, ce qui agace les utilisateurs et certains utilisateurs peuvent essayer de fermer l'invite de commande avant la fermeture du processus.

0

Oui,
Il existe une différence. Par exemple, si vous le définissez sur false, vous pouvez rediriger les flux d'entrée, de sortie et d'erreur. ou utilisez un autre utilisateur pour exécuter le processus.
Lecture MSDN vous fournir plus de détails.