Application ouvert ou pas ? [Résolu]

Signaler
Messages postés
239
Date d'inscription
mercredi 9 octobre 2002
Statut
Membre
Dernière intervention
20 février 2012
-
Messages postés
2336
Date d'inscription
samedi 14 juillet 2001
Statut
Membre
Dernière intervention
5 mai 2009
-
Salut à tous,

Avec VB6, je lance une application X avec la commande shell :

i=Shell(...)

comment detecter quand l'application sera fermé ?



merci

5 réponses

Messages postés
3140
Date d'inscription
vendredi 14 mai 2004
Statut
Membre
Dernière intervention
11 mars 2019
27
Private Declare Function FindWindow Lib "user32" Alias "FindWindowA"
(ByVal lpClassName As String, ByVal lpWindowName As String) As Long







Private Sub Command1_Click()

Dim Hwnd As Long



Shell "notepad", vbNormalFocus



While Hwnd = 0

Hwnd = FindWindow(vbNullString, "Sans titre - Bloc-notes")

DoEvents

Wend



While Hwnd > 0

Hwnd = FindWindow(vbNullString, "Sans titre - Bloc-notes")

DoEvents

Wend



End Sub


Daniel
3
Merci

Quelques mots de remerciements seront grandement appréciés. Ajouter un commentaire

Codes Sources 123 internautes nous ont dit merci ce mois-ci

Messages postés
239
Date d'inscription
mercredi 9 octobre 2002
Statut
Membre
Dernière intervention
20 février 2012

Merci Daniel ça marche nickel.



Il y'a toutefois une limitation à la procédure :

Je pense que cela ne marchera plus, si dans ton exemple du NotePad

l'utilisateur enregistre son fichier (lui donne un nom explicite autre que "Sans titre").



Ne soyons pas royaliste que le roi, il s'avère que dans mon cas

l'application s'ouvre justement déja avec le nom définitif.

Donc pas de problème



Encore merci



Rachid
Messages postés
2336
Date d'inscription
samedi 14 juillet 2001
Statut
Membre
Dernière intervention
5 mai 2009
5
en vb6.0, shellexecute permet pas d'attendre que l'usager ferme l'application comme vb.net permet de le faire ???

j'ai un trou de mémoire là


-------------------------------------------------
Dragon alias aussi Waxime mais bon, pas le gout de refaire un nouveau profil lol
-------------------------------------------------
Messages postés
239
Date d'inscription
mercredi 9 octobre 2002
Statut
Membre
Dernière intervention
20 février 2012

Salut,

J'ai jamais prétendu que Shell permettais une quelconque attente.

Si cela avais été le cas, y'aurais meme pas de probleme (donc pas de question).

En fait le probleme est justement d'attendre qu'une fenetre se ferme.

Et la ton code répond pafaitement à la question

While Hwnd > 0

Hwnd = FindWindow(vbNullString, "Sans titre - Bloc-notes")

DoEvents

Wend



On attend dans la boucle, pas dans le Shell.

Mais ma reflexion (si je puis me permettre) porte sur le fait qu'une personne renomme

la fenetre pendant que la boucle tourne, puis quitte celle-ci !



faut que j'essaie.



Mais grace à toi, mon travail a bien évolué et je t'en remercie encore.
Messages postés
2336
Date d'inscription
samedi 14 juillet 2001
Statut
Membre
Dernière intervention
5 mai 2009
5
en vb6.0 je suis d'accord que shell attend pas
je parle de shellexecute l'API

en vb.net, le shell peut attendre sans problème


-------------------------------------------------
Dragon alias aussi Waxime mais bon, pas le gout de refaire un nouveau profil lol
-------------------------------------------------