Commander un menu d'un tiers programme via les API windows [Résolu]

Messages postés
3
Date d'inscription
dimanche 17 août 2008
Statut
Membre
Dernière intervention
5 février 2012
- - Dernière réponse : Renfield
Messages postés
17280
Date d'inscription
mercredi 2 janvier 2002
Statut
Modérateur
Dernière intervention
21 juillet 2019
- 4 avril 2011 à 07:34
En VB6 comment commander un bouton du menu d'un tiers programme via les API windows? Par exemple comment activer le menu Edition/Tout sélectionner, puis Edition/Copier, du Bloc-notes de Microsoft?
Je connais le Handle-hWdn du Bloc-notes à partir du process.ID, et les GetMenu(hwnd), GetSubMenu(hMnu, ByVal x&) mais comment activer par programmation les boutons???
Afficher la suite 

3 réponses

Meilleure réponse
Messages postés
17280
Date d'inscription
mercredi 2 janvier 2002
Statut
Modérateur
Dernière intervention
21 juillet 2019
57
3
Merci
procures toi Spy++ (ou equivalent)
te faut utiliser WM_COMMAND

cf.

www.vbfrance.com/codes/COURS-PILOTAGE-APPLICATIONS_51165.aspx
Renfield - Admin CodeS-SourceS - MVP Visual Basic & Spécialiste des RegExp

Dire « Merci » 3

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

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

Commenter la réponse de Renfield
Messages postés
3
Date d'inscription
dimanche 17 août 2008
Statut
Membre
Dernière intervention
5 février 2012
0
Merci
Ce cours de pilotage est à l'origine de ma question:
'Activation du mode scientifique
SendMessage hMainWnd, WM_COMMAND, 304, ByVal 0&
'passage en mode hexa
SendMessage hMainWnd, WM_COMMAND, 306, ByVal 0&.
Mais justement il ne précise pas le sens dss paramètres.
Et MSDN WM_COMMAND n'est pas clair:
high-order word of wParam = 0 ? (<> de key accelerator?)
et quel "identifier of the menu" spécifie the low-order of wParam ?

N'y a-t-il pas quelquechose de plus simple et général avec BN_CLICKED ?
Commenter la réponse de vallois
Messages postés
17280
Date d'inscription
mercredi 2 janvier 2002
Statut
Modérateur
Dernière intervention
21 juillet 2019
57
0
Merci
toi, tu n'as pas lu le .doc...

chaque menu a un identifiant... (chaque controle aussi)

304 pour le mode scientifique de la calculatrice, 306 pour le mode hexa...

on se contente de dire a la fenetre en question que tel ou tel controle a subit un click...

MSDN dit:

Use of the wParam and lParam parameters are summarized here.

Message Source wParam (high word)......wParam (low word)...............lParam
Menu............0.......................Menu identifier (IDM_*).........0
[...]

nous passons bien cet identifiant...

le tout est de les identifier, et pour ca, tu as le .doc

Renfield - Admin CodeS-SourceS - MVP Visual Basic & Spécialiste des RegExp
Commenter la réponse de Renfield