Précédent   Forum du club des développeurs et IT Pro > Dotnet > EDI/Outils > Visual Studio
Visual Studio Forum d'entraide sur l'installation et l'utilisation de l'EDI Microsoft Visual Studio
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse
 
Outils de la discussion
Publicité
'
Vieux 23/12/2012, 10h10   #1
Radhek
Invité de passage
 
Inscription : décembre 2012
Messages : 1
Détails du profil
Informations forums :
Inscription : décembre 2012
Messages : 1
Points : 0
Points : 0
Par défaut Lecture et interprétation des données d'un processus.

Bonjour,

Je suis actuellement en train de coder un logiciel qui me permettra de lancer Bitlocker sur des potes à distance via le réseau.

Pour ce faire je doit simplement lancer un processus cmd.exe et y injecter des commandes dos, c'est assez simple à faire mais là ou cela se complique c'est quand je veut utiliser les données de sortie du processus et les utiliser afin de créer des boucles et autres trucs.

Ce que j'aimerais faire pour l'instant c'est réussir à faire un bout de code qui va lancer une requête ping via mon processus cmd.exe et si le ping réussi lancer une seconde commande, si le ping ne réussi pas je recommence jusqu'à que cela fonctionne.

Le code que j'utilise actuellement pour lancer le processus en tâche de fond est le suivant :

Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
 
Public Class Form1
    Dim P As New Process
    Dim SW As System.IO.StreamWriter
 
Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
 
        P = New Process
        AddHandler P.OutputDataReceived, AddressOf DisplayOutput
        AddHandler P.ErrorDataReceived, AddressOf DisplayOutput
        P.StartInfo.CreateNoWindow() = True
        P.StartInfo.UseShellExecute = False
        P.StartInfo.RedirectStandardInput = True
        P.StartInfo.RedirectStandardOutput = True
        P.StartInfo.RedirectStandardError = True
        P.StartInfo.StandardOutputEncoding = System.Text.Encoding.GetEncoding(850)
        P.StartInfo.FileName = "cmd.exe"
        P.StartInfo.WorkingDirectory = "C:\Windows\System32"
        P.Start()
        P.SynchronizingObject = TextBox1
        P.BeginOutputReadLine()
        P.BeginErrorReadLine()
        SW = P.StandardInput
        SW.WriteLine()
 
    End Sub
 
    Private Sub DisplayOutput(ByVal sendingProcess As Object, ByVal output As DataReceivedEventArgs)
        TextBox1.AppendText(output.Data() & vbCrLf)
    End Sub
 
        Private Sub Button3_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button3.Click
        SW.WriteLine("ping " & TextBox2.Text)
    End Sub
 
End Class
La TextBox1 est une fenêtre qui m'affiche la fenêtre cmd.exe afin de vérifier les commandes injectées et les erreurs (c'est juste pour les essais, cette fenêtre est menée à disparaître dans le futur)

La TextBox2 est un champ dans lequel j'entre l'adresse IP du poste que je souhaite "pinger/bitlocker".

Merci d'avance pour vos réponses.

Radhek
Radhek est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse
Outils de la discussion

Navigation rapide


Fuseau horaire GMT +2. Il est actuellement 03h18.


 
 
 
 
Partenaires

Hébergement Web