Récupérer le handle après un shellexecute

Soyez le premier à donner votre avis sur cette source.

Vue 17 595 fois - Téléchargée 1 442 fois

Description

Bon, ça y est. Après un week-end entier à m'arracher le peu de cheveux qui me reste, voilà une version complète.
Deux projets dans ce ZIP :
- La 1ere version utilise la fonction Shell (tout en gardant la possibilité de lancer directement un fichier TXT)
- La 2ème version utilise ShellExecuteEx qui recherche elle même le programme associé. Mais la difficulté majeure était de retrouver le lien entre le paramètre hProcessId qu'elle fournit, avec le handle réelle de la fenêtre affichée.

Je remercie BruNews, RenField et Draluorg au travers de leurs échanges.
J'étais dans la bonne voie, mais c'est l'organisation interne de Windows que je ne connaissais pas suffisemment.

Ceci répondra à la question de LOLPOP sur le forum (au moins).

Codes Sources

A voir également

Ajouter un commentaire Commentaires
Messages postés
96
Date d'inscription
mardi 18 août 2009
Statut
Membre
Dernière intervention
14 août 2013

Je vient de tester la source 10/10 bravo
Messages postés
17286
Date d'inscription
mercredi 2 janvier 2002
Statut
Modérateur
Dernière intervention
23 décembre 2019
67
le plus simple est d'executer le programme souhaité, non ??

tu peux l'obtenir en regardant

HKEY_CLASSES_ROOT\mailto\shell\open\command
Messages postés
14008
Date d'inscription
samedi 29 décembre 2001
Statut
Modérateur
Dernière intervention
28 août 2015
70
Salut - surement parce que "mailto" n'ouvre pas une nouvelle instance de Outlook mais une sous-fenêtre.
Regarde voir cette dernière source http://www.vbfrance.com/codes/DATE-HEURE-LANCEMENT-PROGRAMME_50375.aspx
Tu pourras peut-être retrouver ton bonheur, mais je ne pense pas qu'une fenêtre de nouveau message génère le lancement d'un nouvel EXE ...
Messages postés
1
Date d'inscription
lundi 9 octobre 2006
Statut
Membre
Dernière intervention
4 octobre 2009

Bonjour Jack. 3 ans après sa publication, ton code fait toujours des heureux, comme moi ! Par contre, je ne comprends pas pourquoi il ne fonctionne pas avec la commande mailto (mailto:dest@domaine.com?Subject=Le sujet&Body=Le message). Outlook Express est bien lancé, mais le handle retourné est égal à zéro... Une idée ?
Messages postés
9
Date d'inscription
dimanche 8 juin 2003
Statut
Membre
Dernière intervention
2 septembre 2008

Bonjour,
Il faut corriger la ligne "SEI.hProcess > 0" par "SEI.hProcess <> 0" !

Eric.
Afficher les 34 commentaires

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.