10
votes

Ouvrez une nouvelle instance de l'application Windows C #

Je travaille dans l'environnement Windows et je dois ouvrir une nouvelle instance de mon application par programme lors de l'exécution de l'application, c'est que possible?

Je suis très appréciable de tout conseil ou aide.


0 commentaires

5 Réponses :


1
votes

Bien sûr! Vous avez créé une nouvelle issue de votre classe de projets principale!

Vous devez créer une référence à votre projet, puis vous pouvez créer vos principales istuches!

mis à jour

Mon erreur! J'ai compris que vous devez appeler une deuxième application existante à partir d'une première.


1 commentaires

Qu'est-ce qu'une "classe de projet principale"?



15
votes

Essayez ceci:

var info = new System.Diagnostics.ProcessStartInfo(Application.ExecutablePath);
System.Diagnostics.Process.Start(info );


4 commentaires

Encore une fois, ne pas coder le chemin du papier. Même juste le chemin de l'EXE. Deux raisons: 1) Le nom de l'EXE est susceptible de changer et le bug résultant sera difficile à détecter sans tests approfondis. 2) Il n'est pas garanti que le répertoire de travail sera toujours le répertoire racine de l'application pendant la durée de l'exécution du programme. Vous ne voulez pas compter sur cela étant le cas.


Changé en application.executablePath


Y a-t-il un moyen de le faire dans monodevelop? Il n'y a pas de variable statique nommée application.executablePath


Si vous utilisez Monodevelop, utilisez le code suivant: system.diagnostics.process.start (environnement.getcommandlinea rgs () [0]);




8
votes
System.Diagnostics.Process.Start(Application.ExecutablePath);
For a Winforms App.

0 commentaires

2
votes

Vous pouvez démarrer n'importe quelle application à l'aide du processus.start () < / code> méthode.

Mais en fonction de ce que vous voulez faire, il peut être préférable d'utiliser directement des cours de votre de vos applications à E.g. fenêtre ouverte qui est dans une autre application.


0 commentaires