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

Signaler
Messages postés
3
Date d'inscription
dimanche 17 août 2008
Statut
Membre
Dernière intervention
5 février 2012
-
Messages postés
17286
Date d'inscription
mercredi 2 janvier 2002
Statut
Modérateur
Dernière intervention
23 décembre 2019
-
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???

3 réponses

Messages postés
17286
Date d'inscription
mercredi 2 janvier 2002
Statut
Modérateur
Dernière intervention
23 décembre 2019
65
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
Messages postés
3
Date d'inscription
dimanche 17 août 2008
Statut
Membre
Dernière intervention
5 février 2012

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 ?
Messages postés
17286
Date d'inscription
mercredi 2 janvier 2002
Statut
Modérateur
Dernière intervention
23 décembre 2019
65
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