Lancer un fichier et récupérer le handle de l'application lancée

Soyez le premier à donner votre avis sur cette source.

Vue 12 354 fois - Téléchargée 1 447 fois

Description

Je vois que tout le monde galère pour retrouver le handle d'une fenêtre ou encore le handle de l'application que l'on vient de lancer.
Ce module (que j'utilise tous les jours) permet :
- De retrouver le handle d'une fenêtre à partir d'un texte = fonction "HwndFenetre"
- De lancer un fichier (txt, doc, xls ...) ou une application (exe) et récupérer en retour le handle de l'objet ainsi créé.

Seule limite et incertitude :
La fonction "HwndFenetre" recherche les fenêtres correspondants partiellement à notre texte. Le problème est que, si vous avez plusieurs fenêtre dans lequel se trouve le texte que vous rechercher, il vous fournira un handle, mais pas forcement le bon.
C'est une approximation qui ne m'a jamais génée, personnellement.

Conclusion :


Pour vous servir de ce module, simple :
- Mettez le fichier de ce module dans votre répertoire VB6\Template\Modules
- Dans votre application, menu "Projet", "Ajouter un module" --> ModShell doit apparaitre dans la liste des modules de l'onglet "Nouveau". Cliquez dessus -> le module est dans votre appli.
- N'oubliez pas de le sauvegarder dans le répertoire de votre application (intégrité du projet)

Pour lancer les fonctions :
- MonHandle = HwndFenetre("Ma feuille excel") ' pour récupérer le handle de l'application Excel qui tourne actuellement et qui utilise votre fichier "Ma feuille excel.xls"
- MonHandle = LanceShell("Ma présentation PowerPoint.ppt", True) ' pour récupérer le handle de PowerPoint qui sera lancé avec votre fichier "Ma présentation PowerPoint.ppt"

Codes Sources

A voir également

Ajouter un commentaire

Commentaires

l0st3d
Messages postés
206
Date d'inscription
jeudi 19 décembre 2002
Statut
Membre
Dernière intervention
13 novembre 2009
-
heuuu ouain en tk... pourquoi vous les francais vous essayer toujour de trouver des solutions au probleme qu'on ne cherche pas ET NE VENEZ PAS CONTREDIRE VOUS ETES COMME SA (bon pas tous mais beaucoup)! Je n'ai aucun probleme a trouver le hwnd d'un app si je cherche le nom GNEH! rien de plus facile!
l0st3d
Messages postés
206
Date d'inscription
jeudi 19 décembre 2002
Statut
Membre
Dernière intervention
13 novembre 2009
-
P.S J'ai rien contre toi, j'ai jeter un oeuil a ton code et puis c'est tres bien.
cs_OphidiaN
Messages postés
235
Date d'inscription
mercredi 4 avril 2001
Statut
Membre
Dernière intervention
9 novembre 2007
-
ouais ... enfin bon.... un module dont on se sert tous les jours c fun ça :)

g commenté la source de l0st3d avec le meme genre ke ta source (javais pas vu que yavait deja une replique), excepté ke j'évite une tonne de truc inutiles....

faudrait cree une dll qui possède la capacité de renvoyer un handle au lieu d'un processID, ça serait.... bien! (pcq passer par CreateProcess c un peu pompeux...)
DeadlyPredator
Messages postés
222
Date d'inscription
jeudi 15 janvier 2004
Statut
Membre
Dernière intervention
30 juin 2008
-
LOL. Utilise pas une diff de date. Je crois que ça serait beaucoup mieux d'utiliser GetTickCount, prendre une mesure juste avant la boucle et attendre jusqu'à ce que GetTickCount ­> sa vieille valeur + 10000. Et du dit OU pour la boucle alors que c'est ET.
cs_Jack
Messages postés
14008
Date d'inscription
samedi 29 décembre 2001
Statut
Modérateur
Dernière intervention
28 août 2015
61 -
Merci de vos comments.
DeadlyPredator : Et quand tu fais ton test aux alentours de minuit, il se passe quoi ? (un retour à zéro --> tu vas pouvoir attendre longtemps)

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.