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 319 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

Leo_Robotic_Passion
Messages postés
135
Date d'inscription
dimanche 19 novembre 2000
Statut
Membre
Dernière intervention
2 décembre 2011
-
Certes je suis novice avec vb je l'utilise pour créer des applications simple, ton source peux je l'espère palier un problème que j'ai avec l'utilisation de shell pour appeler un exécutable !
Exemple : shell « c:\program Files\blabla.exe »
Le soft appelé est minimisé dans la barre de taches car mon interface semble garder le focus !
Apres un 1er test ton module semble résoudre le problème mais est ce la bonne solution ????

Cordialement
Léo
cs_Jack
Messages postés
14010
Date d'inscription
samedi 29 décembre 2001
Statut
Modérateur
Dernière intervention
28 août 2015
58 -
Re
Regarde dans l'aide de la fonction Shell : Tu choisis le comportement du Shell : Normal, minimisé, avec ou sans focus ...
S'il te plait : va poser tes questions dans le forum, c'est fait pour ça
phixfoxphixfox
Messages postés
2
Date d'inscription
mardi 23 octobre 2007
Statut
Membre
Dernière intervention
25 octobre 2007
-
une question certainement très bête !!
j'ai essayé d'envoyer des caractères en utilisation ton module que je trouve très bien et aussi le code SendkeysEX
mais .... que neni
ca ne marche absolument pas :(

pourrais tu donne un exemple pour utiliser ton handle afin d'envoyer quelque petits caractères

merci ^par avance
cs_Jack
Messages postés
14010
Date d'inscription
samedi 29 décembre 2001
Statut
Modérateur
Dernière intervention
28 août 2015
58 -
Désolé, ça sort de l'utilisation de cette source.
Pose simplement la question sur le forum :
"Comment utilisé SendKeyEx une fois qu'on a le handle de destination"
Fais aussi une simple recherche avec le mot "SendKeysEx" parmi les sources et les questions du forum, tu auras plus de chance de trouver ta réponse.
Renfield
Messages postés
17308
Date d'inscription
mercredi 2 janvier 2002
Statut
Modérateur
Dernière intervention
22 août 2018
53 -
la fenetre cible risque de ne pas etre interessée par la pression de tes touches...

cible plutot un textbox qu'elle contient, par exemple (voir Spy++ et l'APi FindWindowEx)
Commenter la réponse de l0st3d

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.