Question

Je suis en train de créer une application de forme C # qui me permettra d'utiliser tous mes précédents programmes C ++ d'un programme central.

Je suis en mesure d'ouvrir les exes avec Process.Start(), mais il ne compile pas le code correctement.

Exemple de code:

Process.Start("C:\\\Documents and Settings\\\dan\\\Desktop\\\test.exe");

Cela fera la console et d'agir comme il est en cours d'exécution, mais il ne fonctionne pas comme quand je compile normalement de l'éditeur du C. Y at-il une variable startinfo je dois mettre pour signifier que c'est un programme C ++ ou quelque chose le long de cette ligne?

En outre, est-il possible d'exécuter un programme C ++ en utilisant process.start qui me permettra de le transmettre des variables à travers la ligne de commande via argc et argv?

Merci

Était-ce utile?

La solution

Il y a seulement quelques différences lorsque vous utilisez Process.Start la façon dont vous avez fait contre lorsque vous exécutez juste le programme directement. Les deux peuvent être résolus en utilisant ProcessStartInfo .

  1. WorkingDirectory ne sera pas la même. Réglez ce paramètre sur le chemin contenant l'exécutable pour obtenir le même comportement.
  2. UseShellExecute true, donc la coquille de fenêtres est utilisé pour exécuter le processus.

En ce qui concerne l'ajout d'arguments de ligne de commande: Vous pouvez le faire via

Autres conseils

Pour ajouter des arguments de ligne de commande:

Process process = new Process();
process.StartInfo.FileName = "C:\\Documents and Settings\\dan\\Desktop\\test.exe";
process.StartInfo.Arguments = ""; // Put your arguments here
process.Start();

Une fois le programme a été compilé dans un fichier EXE, il ne devrait pas question quelle langue il a été écrit dans.

En ce qui concerne les arguments du programme, vous devez jeter un oeil à la classe ProcessStartInfo, et le remplacement de Process.Start () qui l'utilise: Process.Start (ProcessStartInfo)

Je fait face à un problème similaire en python, attendez-vous une sortie verbeuse?

Dans mon cas, le tampon de sortie a pleine et donc l'exécution au point mort.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top