Msdos

Résolu
megblt Messages postés 85 Date d'inscription mercredi 8 septembre 2004 Statut Membre Dernière intervention 21 mai 2014 - 30 août 2007 à 20:46
megblt Messages postés 85 Date d'inscription mercredi 8 septembre 2004 Statut Membre Dernière intervention 21 mai 2014 - 31 août 2007 à 13:31
Bonjour,

je lance depuis VB6 un programme DOS et j'ai besoin d'attendre la fin pour poursuivre
mais le temps d'execution est tres variable
comment puis je etre sur de la fin de ce programe DOS

merci

9 réponses

cs_Jack Messages postés 14006 Date d'inscription samedi 29 décembre 2001 Statut Modérateur Dernière intervention 28 août 2015 79
31 août 2007 à 00:28
Salut
En supposant que ton programme DOS se referme seul en fin d'exécution, c'est le moment rêvé d'utiliser Shell et l'API nommé WaitForSingleObject
Cherche des exemples de cette API sur msdn et regarde cette source http://www.vbfrance.com/codes/CLM-API-ADDIN-POUR-AVOIR-TOUJOURS-API-SOUS_36821.aspx

Vala
Jack, MVP VB
NB : Je ne répondrai pas aux messages privés

<hr />Le savoir est la seule matière qui s'accroit quand on la partage (Socrate)
3
cs_lermite222 Messages postés 492 Date d'inscription jeudi 5 avril 2007 Statut Membre Dernière intervention 2 juillet 2012 4
30 août 2007 à 20:51
Bonsoir,


J'ai un peu oublier le DOS mais si mes souvenirs sont bon, si tu n'a pas mis l'équivalent de DoEvents dans ton Prog, Dos ne rendra la main que quand il aurra terminer !!
A+
0
megblt Messages postés 85 Date d'inscription mercredi 8 septembre 2004 Statut Membre Dernière intervention 21 mai 2014
30 août 2007 à 21:02
j'ai bien mis un DoEvents mai windows etant multitaches les deux programmes fonctionne en parallele alors qu'il faut que le programme DOS soit terminé pour que je puisse exploiter un fichier généré par le DOS

A+
0
cs_lermite222 Messages postés 492 Date d'inscription jeudi 5 avril 2007 Statut Membre Dernière intervention 2 juillet 2012 4
30 août 2007 à 21:06
Bonsoir,
si tu enlève ton DoEvents tu serra certain que le prog dos est terminé, Non ?
Et Windows n'est PAS UN MULTITACHE
A+
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
cs_casy Messages postés 7741 Date d'inscription mercredi 1 septembre 2004 Statut Membre Dernière intervention 24 septembre 2014 40
30 août 2007 à 21:11
comment lance tu ton programme DOS ???

lermite > Windows est multitache depuis Windows 98.

---- Sevyc64  (alias Casy) ----<hr size="2" width="100%" /># LE PARTAGE EST NOTRE FORCE #    http://aide-office-vba.monforum.com/index.php
0
BruNews Messages postés 21040 Date d'inscription jeudi 23 janvier 2003 Statut Modérateur Dernière intervention 21 août 2019
30 août 2007 à 23:01
CreateThread() est dispo depuis Windows 95, c'est à dire depuis l'origine de la version 32 bits.

ciao...
BruNews, MVP VC++
0
cs_casy Messages postés 7741 Date d'inscription mercredi 1 septembre 2004 Statut Membre Dernière intervention 24 septembre 2014 40
31 août 2007 à 09:01
Tout à fait Jack, c'est d'ailleurs cette API que j'utilise dans ma source pour attendre la fermeture du logiciel appelé.

---- Sevyc64  (alias Casy) ----<hr size="2" width="100%" /># LE PARTAGE EST NOTRE FORCE #    http://aide-office-vba.monforum.com/index.php
0
JM247L Messages postés 443 Date d'inscription mardi 27 mars 2007 Statut Membre Dernière intervention 1 mars 2011 2
31 août 2007 à 11:48
Bonjour,
Si tu as la main sur l'appli DOS pourquoi ne pas faire créer un fichier en fin d'appli et pendant ce temps faire une boucle dans l'appli VB qui s'assure de la présence de ce fichier avant de continuer
JML
 Partageons notre savoir et nos acquis
0
megblt Messages postés 85 Date d'inscription mercredi 8 septembre 2004 Statut Membre Dernière intervention 21 mai 2014
31 août 2007 à 13:31
merci de vos reponses

A+
0
Rejoignez-nous