Comment executer un .exe après que le premier .exe soit finis!!

DraaFil Messages postés 264 Date d'inscription mercredi 16 avril 2003 Statut Membre Dernière intervention 23 mars 2012 - 29 août 2007 à 02:46
lolokun Messages postés 1241 Date d'inscription mardi 10 octobre 2006 Statut Membre Dernière intervention 27 août 2013 - 29 août 2007 à 09:23
Bonjour à tous,

J'aimerais savoir s'il existe une façon pour résoudre le problème suivant :

  J'execute un programme externe (.exe) dans mon application à l'aide de la commande "SHELL". Je voudrais execute une deuxième application après que la première soit complètée. J'aurais pensé à un "TIMER" mais, la durée de l'installation varie selon plusieurs crières tel que la mémoire et la vitesse du processeur. Donc, je ne peux pas utiliser un simple "TIMER" car, cela pourrais entreiner deux installation similtaté, ce que je ne veux pas surtout!

Si vous avez une solution ou une réponse (ou un site), communiquer moi la s.v.p

Merci pour votre aide!
DraaFil

6 réponses

mortalino Messages postés 6786 Date d'inscription vendredi 16 décembre 2005 Statut Membre Dernière intervention 21 décembre 2011 18
29 août 2007 à 02:54
salut,

jamais fait mais bon, peut-être une solution :
vu que tu lances avec Shell l'exe, récupére le Handle de la fenêtre et sous classe là (SubClassing, avec APIs SetWindowLong et CallWindowProc).
Dès que t'as le Msg WM_CLOSE ou quelque chose s'en rapprochant, tu vires le Hook (donc le sous-classement) et lances l'autre exe.

D'autres membres plus confirmés que moi te diront si la méthode est bonne

@++

<hr width="100%" size="2" />( Nouveau forum : Exclusivement Office & VBA/STRONG>
0
DraaFil Messages postés 264 Date d'inscription mercredi 16 avril 2003 Statut Membre Dernière intervention 23 mars 2012
29 août 2007 à 03:27
Merci de ton aide, mais je connais rien de ce qeu tu me parle. J,ai peut-être trouver une solution, il existe en dos une ligne de commande qui fais ce qeu je veux start /wait le programme. Il faudrait utiliser cela ,mais de facon transparente à l'utilisateur. Ex: creation d'une form fullscreen qui demare au debut de L'installation qui execute à tour de role les ShELL "start /wait..." et fois le dernier terminer cela quitte l'application. Cela me pourrrais etre une idee. Quand pensez-vous? et ne vous gener pas pour vos idees.

Merci
DraaFil
0
mortalino Messages postés 6786 Date d'inscription vendredi 16 décembre 2005 Statut Membre Dernière intervention 21 décembre 2011 18
29 août 2007 à 03:49
Humm mouais, ça va te faire jongler pas mal..

Pour ma soluce (presque sûr que c'est le plus simple et le moins couteux en ressources), tu as un tuto de ShareVB, certe pas facile à apprendre mais intéressant.

En gros, tu récupères le handle de la fenêtre à sous classer, Passage de fonction WindowProc (avec AddressOf) à SetWindowLong, et là, tu gères Tous les évènements / Msg de la fenêtre.

http://www.vbfrance.com/tutoriaux/SUBCLASSING-VB6-VB-NET_339.aspx

@++

<hr width="100%" size="2" />( Nouveau forum : Exclusivement Office & VBA/STRONG>
0
gaa179 Messages postés 361 Date d'inscription mercredi 21 mai 2003 Statut Membre Dernière intervention 12 novembre 2009 2
29 août 2007 à 08:20
Voici un lien qui t'explique un code VB pour exécuter une commande shell et d'en attendre la fin.

http://www.buygold.net/v02n05/v02n05.html

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
29 août 2007 à 08:45
Tu peux regarder la source que j'ai posté sur le site. Elle sert à ouvrir un document avec l'appli dédiée (à l'origine, un pdf). La seconde partie du code sert justement à attendre que l'appli ainsi lancée soit refermé avant de continuer.

---- Sevyc64  (alias Casy) ----<hr size="2" width="100%" /># LE PARTAGE EST NOTRE FORCE #    http://aide-office-vba.monforum.com/index.php
0
lolokun Messages postés 1241 Date d'inscription mardi 10 octobre 2006 Statut Membre Dernière intervention 27 août 2013 7
29 août 2007 à 09:23
Salut,

Voilà une source de renfield qui permet d'attendre la fin de l'exécution :
http://www.vbfrance.com/codes/SHELLANDWAIT-EXECUTER-APPLICATION-ATTENDRE-FIN-RENVOYER-SON-CODE_34867.aspx
0
Rejoignez-nous