bonjour,
j'ai des fichiers executablent sous DOS
j'aimerais lancer ces fichiers et recuperer les reponses => ça doit être possible...
par contre, j'aimerais que tout cela soit invisible pour l'utilisateur => la j'ai un doute
comment faire ?
bonjour,
j'ai des fichiers executablent sous DOS
j'aimerais lancer ces fichiers et recuperer les reponses => ça doit être possible...
par contre, j'aimerais que tout cela soit invisible pour l'utilisateur => la j'ai un doute
comment faire ?
Par contre pour que ce soit transparent pour l'utilisateur, à toi de faire tes exécutable qui ne s'affichent pas car je ne vois pas comment forcer ça via dotnet
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4 // Lancer un exécutable Process mypro = Process.Start("chemin exécutable"); // Récupérer le code de retour int ExitCode = mypro.ExitCode;![]()
merci
j'arrive a lancer le programme par contre le probleme est que ça bug sur la deuxieme commande
=> je n'arrive pas a mettre les commandes a la suite
si je fais ça, ça marche (à condition de ne pas appuyer sur bouton2 avant que la commande DOS n'est pas fini d'être executée)
par contre si je vais ça, ça bug :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11 Dim myProcess As New Process Dim ExitCode As Integer Sub Button1Click(sender As Object, e As System.EventArgs) myProcess = Process.Start("C:\Documents and Settings\MARMONIER_C.IFOTEC\Bureau\test.bat") End Sub Sub Button2Click(sender As Object, e As System.EventArgs) ExitCode = myProcess.ExitCode msgbox(ExitCode) End Sub
j'ai le message d'erreur suivant :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8 Dim myProcess As New Process Dim ExitCode As Integer Sub Button1Click(sender As Object, e As System.EventArgs) myProcess = Process.Start("C:\Documents and Settings\MARMONIER_C.IFOTEC\Bureau\test.bat") ExitCode = myProcess.ExitCode msgbox(ExitCode) End Sub
=> que faire ?Process must exit before requested information can be determined.
lorsque je lance la commande une fenetre DOS s'ouvre mais rien ne s'affiche => est-il possible de ne pas voir cette fenetre DOS apparaitre ?








Désolée, je te réponds en C#.
Il te manquepour attendre que le process est fini de s'executer.
Code : Sélectionner tout - Visualiser dans une fenêtre à part proc.WaitForExit();
Ce qui te donne ça
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9 System.Diagnostics.Process proc = new System.Diagnostics.Process(); proc.StartInfo.FileName = "ton exe"; proc.StartInfo.Arguments= "test arguments"; proc.StartInfo.WindowStyle =ProcessWindowStyle.Hidden; //pour cacher la fenetre dos proc.Start(); proc.WaitForExit(); int exitCode = proc.ExitCode; proc.Close();
merci ça marche
... mais j'ai encore quelques questions
1- je voudrais faire un label avec ecrit à l'interrieur "chargement..." => je voudrais faire une animation pendant en attendant la reponse du programme en faisant défiler les "..." => il me semble que ça doit être possible en executant de façon asynchrone les commande mais je ne m'y connais pas trop : comment fair e ?
2- sous DOS, lorsque je lance mon fichier, il m'ecrit des choses dans la fenetre DOS : est-il possible de les recupérer ? a priori c'est possible mais je ne sais pas trop comment faire ? ça ne serait pas la propriété "StandardOutput" ?








Pour tes questions, il y a des réponses ici
Bon courage![]()
Partager