Télécharger le zip
Salut FredLynxSuperbe. Bien commenté, innovateur.Très bonne source
Lu fredlynx , cette est le fruit de tout ces mois d'absence ? :)En tout cas c'est bien.:)
Bravo Fred, sa marche a la vapeur !! (Sous Win2k)@+
Nop TheSaib... c'est juste un quartier du fruit ;)Le fruit complet n'est pas encore mur lol lol lol
Je cherche ce truc depuis super longtemps. Jusqu'à maintenant j'écrivais le résultat dans un fichier que j'analysais ensuite ...C'est nettement plus propre, c'est cool !Merci(fonctionne très bien sous 2000)
Salut fredlynx, Ton programme est excellent (10/10)!!!!
a oui la ca va servir a bcpmeme peut etre meme a moi :Dje met 10 ca les vaut
Merci à toi pour cette source ! C d'la balle !
marche po avec arj.exe et doskey ?? comprend po
Du trés bon boulot. FélicitationsJe vais le tester plus amplement sur différents OS mais ok sous w2k.
Super Taff, ça fonctionne nickel...Juste une petite remarque, sur des applis dos lentes ou gourmandes ça bloque tout le process, tu pourrais peut être envisager de mettre la conversation en asynchrone voir en multi-threading.
Un gros détail que j'ai cru remarqué :si un programme dos n'affiche rien, ÇA VA BOGUER.
Merci fredlynx pour cette excellente prog ! Canon !Je te mets 11/10... zut ya pas moyen ;-)Je compte l'utiliser dans un petit prog. de sauvegarde automatique... si j'ai ta permission (je déposerai la source sur vbfrance de toute manière)V3
elle a l air vraiment propre ta sourceChapeau !!!!
Juste une question a cette source que je kiffe grave !!!Est il possible de mettre une barre fleche sur la droite de la fenetre pour pouvoir se balader dans la fenetre une fois l execution termine ???
salut fredlynx, ta méthode d'execution de commandes MS-DOS est vraiment cool, c'est beaucoup mieux que de passer par un fichier texte en utilisant le ">" :-PJ'ai juste une petite question... est-il possible d'interargir avec un process executé via ta DosClass ? Je m'explique... mettons que je lance un nc -l -v -p 1234 avec ta méthode, j'ouvre ainsi le port 1234 de mon ordinateur afin de discuter avec un ami qui s'y connecte sans problème depuis le sien. Je vois tout ce qu'il me dit dans la textbox, mais je n'ai pas moyen de lui répondre :( Alors grand chef, une solution ? :-D
gg Excelente classe.j' ai trouver la source ds les trophée de VB france.Et je pense kelle me sera utilise pour bcp de programe a venir :)Merci et bonne continuation.
S.U.P.E.R.B.E :-DBravo.
Salut FredLynx,Un petit merci pour cette ressource, et pour signaler que votre source à été portée sur Windev.Vous trouverez le source sur :http://sourceforge.net/project/showfiles.php?group_id=84918&package_id=120239sous le nom de WDDos.
Je ne suis pas alle voir le code de sourceforge mais je signale qu'un exemple complet est fourni depuis fort longtemps dans MSDN (en C bien sur) avec la fonction CreatePipe.
Bonjour BruNews,Je m'étais mal exprimé.J'ai traduit le code VB6 de fredLinx pour le porter sur Windev, comme ce code n'est pas de moi, j'ai pris la délicatesse d'en prévenir ici l'auteur.[DrCCharly93] co-animateur du site rbesset.netMerci à vous.@+
Salut drcharly93,y a pas de prob, c'etait juste pour rappeler qu'on n'oublie pas aussi d'aller voir les explications de l'API dans MSDN qui reste la source fondamentale en ce domaine.Bonne continuation.
cette source me sauve la vie!!!!merci et surtout félicitations !
Excellent !
Trop bien !
Juste uen question a quoi ca sert de prendre du texte dans le dos y'a une commande pour ca...
Et le contraire : envoyer des info à un prog dos, tu sais faire.
Bonjour VinceVG,Ceci est réalisable via les apis Windows.Suivre ce lien http://www.vbfrance.com/code.aspx?ID=23012
excellente apien revanche j'ai des problemes avec son utilisation dans une simple boucle => j'observe des problemes de priorités sur les instructions, exemple :While i < 5 i = i + 1 status.Text = "TEST instruction" MyDOS.CommandLine = "batch.bat" MyDOS.ExecuteCommandWendça a pour effet de ne remplir la TextBox qu'une fois que le batch.bat ait été executé. Un moyen de palier à celà ?
Salut zytrahusJe bosse avec en ce moment et je connais ce code à fond.-1- Comme toujours, il faut laisser le temps aux process externes de s'exécuter : Ajoute un simple DoEvents après le .ExecuteCommand, comme ça l'event de réception peut se déclencher.-2- Durant l'exécution de la commande, la classe retransmet 256 octets par 256 octets le résultat qu'elle renvoie dans l'évènement "Outputs".Pour récupérer ces données au fuir et à mesure qu'elle arrivent, il suffit, dans la forme dans laquelle tu déclares la Classe MyDOS, de bien utiliser :Private WithEvents MyDOS As DOSClassA partir de là, regarde parmi les objets de ta forme : Sur ta page de code, en haut à gauche, la ComboBox donne la liste, et dans cette liste, tu retrouveras l'objet que tu viens de déclarer (ici MyDOS).Clique dessus et tu verras que l'evènement "Outputs" apparait et renvoie dans "CommandOutputs" les caractères reçus : Ce code s'exécutera à chaque fois que la classe enverra des données. A toi de les traiter.C'est la manière la plus rapide de recevoir les données.-2- Si tu n'as besoin des infos qu'après la fin de l'exécution de ExecuteCommand, utilise cette technique moins lourde à traiter :Résultat = MyDOS.ExecuteCommandça suffit, mais il faut attendre la fin de l'exécution.Vala.Jack
Merciiii !
Merci DrCharly93. J'ai essayé et je n'ai pas réussit. Soit je suis une burne (ce n'est pas à exclure totalement) soit je n'ai pas tout compris soit ce n'est pas possible.Vince VG
Bonjour VinceVG,Je ne pense pas que la réponse soit là!.Peut être est-ce moi qui est mal interprété ta question.Moi, je voulais parler de console dos, ce que j'ai déjà réalisé.De la à envoyer des infos à un programme en cours d'exécution il faut peut être regarder du coté des sendKeys.En tout cas peut nous faut-il plus d'infos pour comprendre exactement ce que tu cherche à faire.
Salut,J'ai exposer mon problème là :http://www.vbfrance.com/forum.v2.aspx?ID=331798&post=okSi vous voulez vous joindre à ceux qui tente de m'aider je vous invites de tout coeur.
par contre faire un nouvel invité de commandes avec un meilleur style ca serait genial!
Bonjour Fredlynx,Je cherche desesperement a faire fonctionner ce code sous VB.Net mais pas moyen, apres qque modifs, j arrive enfin a executer le code mais la fonction ReadFile ne retroune rien du process que j'execute.QQu'un a t il deja essayé de porter ce code en .NET ?SI oui pouvez vous me montrer comment vous avez fait ?Merci bcp.
bonjour à tous,Je galere pas mal et j'aurais besoin de votre aide, je suis un debutant confirmé lol.J'ai pas mal parcouru le forum et les sources afin de trouver la methode du Dos-PipeVoila je vous explique j'ai juste créé un form avec un bouton et une textbox qui sert normalement de "Dos Output" auquel j'ai rajouté un module de classe En precisant MyDOS.CommandLine = "ping 127.0.0.1" ca fonctionne du feu de dieu.Mais moi ce qui m'interesse c'est une ligne de commande qui fait appel a "XCOPY.exe" ou autre chosepar exemple "xcopy.exe c:\Poub\Scans e:\tempo /s"Mais rien ne se passe , par contre si je met cette ligne de commande dans un batch et que j'inscris MyDOS.CommandLine = "batch.bat" , le retour dans la fenetre VB me met juste ca : E:\Focal\ProjetV1_VB>xcopy.exe c:\Poub\Scans e:\tempo /s et il ne se passe rien snifff.Ce que je voudrais c'est que l'action se lance et que je vois ce qui se passe et si possible une interaction de notre part (par ex : Ctrl C ou Y ou N ou T ......) dans la fenetre prevue comme dans une fenetre CMD pure.Voila je c'est pas si je me fait bien comprendre, mais ca m'aiderais vraiment vous avez la solutionD'avance un grand merci Michel.---------------------------------------------------------------------------------------------'Private MyDOS As DOSClassPrivate WithEvents MyDOS As DOSClassPrivate Sub CmdQuitter_Click() Unload MeEnd SubPrivate Sub Form_Load() Set MyDOS = New DOSClassEnd SubPrivate Sub Form_Unload(Cancel As Integer) MyDOS.ClosedCommand Set MyDOS = NothingEnd SubPrivate Sub MyDOS_ReceiveOutputs(CommandOutputs As String) TextDos = TextDos & CommandOutputsEnd SubPrivate Sub Command1_Click() 'Lancer TextDos = "" MyDOS.CommandLine = "xcopy.exe c:\Poub\Scans e:\tempo /s" MyDOS.ExecuteCommandEnd Sub
Super code.Cependant je cherche moi aussi à migrer cette source vers vb.net et cela je n'y parvient pas.est-ce que quelqu'un a déjà rèussi ?
la doc MSDN du framework est assez complète, avec des exemples et tout et tout.dommage que si peu de gens aient ce reflex de la parcourir quand une question survient...http://msdn2.microsoft.com/en-us/library/system.diagnostics.process.standardoutput(vs.80).aspxet encore, je ne code pas en .Net ^^ Google est décidement mon ami :p
ca servira a d'autres, remarques, comme damien_adi, par exemple
merci RENFIELD pour ta réponse.J'avais déjà essayer avec le process.standardoutput, mais avec cette méthode, je ne parviens à afficher la sortie standard qu'à la fin de l'exécution de la commande.La commande que je lance s'exécute pendant environ une minute et il est préférable de voir les messages au fur et à mesure plutot que d'attendre la fin de la commande.Vois-tu un moyen d'y parvenir ?
salut cette application m'a aider enormementmais en executant ftp.exe sa ce plantepourquoi?
Se souvenir du profil
Mot de passe oublié ? / Activation de compteCréer un compte