Crew215
Messages postés9Date d'inscriptionmardi 3 février 2009StatutMembreDernière intervention 5 février 2009
-
5 févr. 2009 à 09:26
Renfield
Messages postés17287Date d'inscriptionmercredi 2 janvier 2002StatutModérateurDernière intervention27 septembre 2021
-
5 févr. 2009 à 14:54
Bonjour à tous,
Environnement: XP SP2
IDE: Visual Studio 2008 / Framework 3.5 / VB.NET
Je développe une application , qui lance dynamiquement la compilation des solutions de notre entreprise en fonction d'un résultat que j'obtiens à partir d'une commande exécutée dans l'invite de commande sur le gestionnaire de source Perforce.
Je sais démarrer un processus et donc afficher la fenêtre d'invite de commande, et aussi la fermer.
Par contre, je ne sais pas comment écrire ma commande dans l'invite et comment récupérer le résultat de l'exécution de ma commande pour qu'il soit traiter par mon application.
Crew215
Messages postés9Date d'inscriptionmardi 3 février 2009StatutMembreDernière intervention 5 février 2009 5 févr. 2009 à 11:01
Alors pour faire court, je parviens bien à récupérer le résultat de ma fenêtre d'invite de commande, mais je ne parviens pas à insérer de commande.
Lorsque j'essaie d'intervenir sur StandardInput je n'y arrive pas parce que cette propriété est en lecture Seule. Comment faire pour dire en gros :
1.Ouvre l'invite de commande
2.Insère une commande dans l'invite
3.Exécute cette commande
4.Récupère le résultat
J'arrive à faire les étapes 1 et 4, mais les 2 et 3 ...
Crew215
Messages postés9Date d'inscriptionmardi 3 février 2009StatutMembreDernière intervention 5 février 2009 5 févr. 2009 à 12:59
Mon code est le suivant:
Function GetTraceOutput() As String
' Déclaration de mon Processus
Dim monProcess As Diagnostics.Process
monProcess = New Diagnostics.Process
' L'exécutable est l'invite de commande
monProcess .StartInfo.FileName = "cmd.exe"
' L'invite de commande doit s'ouvrir dans une nouvelle fenêtre
monProcess .StartInfo.CreateNoWindow = True
' Ouverture de l'invite de commande
monProcess .Start()
/// Ici je n'arrive pas à écrire le code pour écrire ma commande dans l'invite de commande, et l'exécuter
' Retourne la trace complète
Dim maChaineDeSortie As String = String.Empty
maChaineDeSortie = monProcess .StandardOutput.ReadToEnd
Return maChaineDeSortie
' Libère les ressources du Process
monProcess.Close()
End Function
Crew215
Messages postés9Date d'inscriptionmardi 3 février 2009StatutMembreDernière intervention 5 février 2009 5 févr. 2009 à 13:53
Hélas, ce n'est pas par choix, je suis néophyte dans le domaine et je n'ai su faire que comme ca.
J'imagine bien qu'en fait c'est pas bien compliqué ce queje veux faire !