avelone
21 nov. 2008 à 00:18
Je comprend ce que tu veux faire, ou enfin je crois, je vais te donner les grandes lignes directrices et à toi par la suite de les modifier pour que ça fonctionne dans ton cas, si tu éprouves des problèmes, fais mois signe.
Je vais faire un exemple simple, tu peux essayer avant de l'intégrer à ton code avec un fichier .bat qui fait une ligne simple : ipconfig par exemple, on nommera ce fichier ipconfig.bat que tu met sur le disque c.
Dans ton code, tu défini ton process :
Dim process As New Process
process.StartInfo.FileName = "C:\ipconfig.bat"
process.StartInfo.UseShellExecute = False
process.StartInfo.RedirectStandardOutput = True
process.StartInfo.RedirectStandardError = True
process.StartInfo.CreateNoWindow = True
process.Start()
Ensuite, tu inscris les lignes que le fichier .bat te donne dans une chaine que tu concatène en y ajoutant des retour de chariot après chaque ligne:
Dim chaine As String
Do While (process.StandardOutput.Peek >= 0)
chaine &= process.StandardOutput.ReadLine & vbCrLf
Loop
Ensuite, tu affiche ta chaine :
MessageBox.Show(chaine)
Ça devrait faire la job et je n'aurai pas besoin de venir chez vous en fin de semaine ... héhéhé
Avelone
SVP