VB et DOS

cs_corsica Messages postés 147 Date d'inscription lundi 13 mai 2002 Statut Membre Dernière intervention 15 février 2010 - 26 janv. 2005 à 16:26
cs_corsica Messages postés 147 Date d'inscription lundi 13 mai 2002 Statut Membre Dernière intervention 15 février 2010 - 27 janv. 2005 à 00:27
Bonjour, je souhaite écrire un Vb qui soit exécutable comme une commande DOS :
Je m'explique : mon VB prendra en compte des paramêtres , agira comme il doit et devra renvoyer les résultats dans la même fenêtre de Shell que celle d'ou il est lancé.
Imaginons pour donner un exemple concret que je veuille réécrire la commande DIR du Dos a l'identique de ce qu'elle est , l'exécution doit donner ça :

C:\> MonProg.exe C:\Windows
Fichier1
Fichier2
Fichier3
Fichier4
C:\>

Voila ..
L'appel / Passage des params c bon , par contre impossible de trouver le moyen d'écrire dans la même fenêtre de Shell ...

Merci de votre aide ...

3 réponses

cs_CanisLupus Messages postés 3757 Date d'inscription mardi 23 septembre 2003 Statut Membre Dernière intervention 13 mars 2006 18
26 janv. 2005 à 19:23
Salut,

Une possibilité :

Un Form avec une listbox (list1) et :

Private Sub Form_Load()
Dim fichier As String
fichier = Dir("c:\temp\*.*")
Do While fichier <> ""
List1.AddItem fichier
fichier = Dir
Loop
End Sub

si c'est recréer le dir du DOS alors
pour gérer le paramètre, c'est command() :

Private Sub Form_Load()
Dim fichier As String
Dim chemin As String


chemin = Command()


fichier = Dir(chemin & "\*.*")
Do While fichier <> ""
List1.AddItem fichier
fichier = Dir
Loop

End Sub

pour tester le 2ème code, tu crées l'exe et tu tapes dans démarrer/exécuter

chemin+nomdetonexe c:\windows

ou tu fais un shell dans une appli.

Cordialement, CanisLupus
0
crenaud76 Messages postés 4172 Date d'inscription mercredi 30 juillet 2003 Statut Membre Dernière intervention 9 juin 2006 29
26 janv. 2005 à 22:38
"par contre impossible de trouver le moyen d'écrire dans la même fenêtre de Shell ..."

J'ai peur qu'il te faille passer au VB.NET pour cela, mon cher ami ... A moins que les pipes et autres APi du genre ne soient d'un secours quelconques sur le sujet (en l'écrivant, je me dis que ce serait sans doute une solution !!!) Faut que je fouille cela !!

Christophe R
0
cs_corsica Messages postés 147 Date d'inscription lundi 13 mai 2002 Statut Membre Dernière intervention 15 février 2010
27 janv. 2005 à 00:27
Désolé Canis , je ne me suis pas bien expliqué , le but du jeu est de ne pas utiliser de form vb et d'écrire un retour de programme dans le Shell appelant . J'ai pris l'exemple du Dir comme j'aurais pu dire par exemple le netstat -a ou une autre commande dos ...

En fait il me faudrait un exemple VB d'un script cscript.exe avec un :
Wscript.StdOut.WriteLine "Toto"
Mais il semble que cela ne marche pas par un simple portage dans VB ...

Quand a Crenaud76 , j'ai déjà regardé les pipes et le "CreateConsole" de Vb mais en fait l'appli créé une autre fenêtre qui ressemble au shell mais qui n'est pas celle du lancement .... Il ne me reste plus que le VB.Net que je ne connais pas ...

Merci de vos réponses quand même c'est sympa ...
0