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

Signaler
Messages postés
264
Date d'inscription
mercredi 16 avril 2003
Statut
Membre
Dernière intervention
23 mars 2012
-
Messages postés
1241
Date d'inscription
mardi 10 octobre 2006
Statut
Membre
Dernière intervention
27 août 2013
-
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

Messages postés
6786
Date d'inscription
vendredi 16 décembre 2005
Statut
Membre
Dernière intervention
21 décembre 2011
18
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>
Messages postés
264
Date d'inscription
mercredi 16 avril 2003
Statut
Membre
Dernière intervention
23 mars 2012

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
Messages postés
6786
Date d'inscription
vendredi 16 décembre 2005
Statut
Membre
Dernière intervention
21 décembre 2011
18
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>
Messages postés
361
Date d'inscription
mercredi 21 mai 2003
Statut
Membre
Dernière intervention
12 novembre 2009

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+
Messages postés
7741
Date d'inscription
mercredi 1 septembre 2004
Statut
Membre
Dernière intervention
24 septembre 2014
36
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
Messages postés
1241
Date d'inscription
mardi 10 octobre 2006
Statut
Membre
Dernière intervention
27 août 2013
5
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