J'ai un projet où plusieurs instances d'une application sont exécutées, chacune ayant été démarrée avec des arguments de ligne de commande différents. J'aimerais avoir un moyen de cliquer sur un bouton à partir de l'une de ces instances qui ferme ensuite toutes les instances et les redémarre avec les mêmes arguments de ligne de commande.Puis-je obtenir des arguments de ligne de commande d'autres processus à partir de .NET/C#?
Je peux obtenir les processus eux-mêmes assez facilement par Process.GetProcessesByName()
, mais chaque fois que je le fais, la propriété StartInfo.Arguments
est toujours une chaîne vide. Il semble que cette propriété est peut-être valide avant de démarrer un processus.
This question avait quelques suggestions, mais ils sont tous en code natif, et je voudrais le faire directement à partir de .NET. Aucune suggestion?
Avez-vous le contrôle sur l'application que vous essayez de redémarrer? –
Oui, j'ai un contrôle complet sur le code de l'application que j'essaie de redémarrer - il va toujours y avoir une autre instance de la même application que je cours. C'est une application WPF, si cela fait une différence, mais je ne pense pas que ce devrait être le cas. –
Selon l'article MSDN sur StartInfo (http://msdn.microsoft.com/en-us/library/system.diagnostics.process.startinfo.aspx), l'objet StartInfo contient uniquement des informations si le processus a été démarré à l'aide de Process. Début. Cela indique également que StartInfo sera vide lors de l'utilisation des fonctions GetProcesses *. – Corin