Sendmessage / PostMessage

Bonjour,

J'aimerai piloter une boite de dialogue ( "Ouvrir", "Enregistrer" , "Annuler") issue d'IE avec les fonctions Sendmessage ou PostMessage .
Le problème c'est que je ne comprend pas la différence entre ces deux fonctions et que je n'arrive pas à les faire fonctionner...



Declare Function SendMessage_ Lib "user32" Alias "SendMessageA" _
(ByVal hwnd As Long, ByVal wMsg As Long, _
ByVal wParam As Long, _
lParam As Any) As Long

Private Declare Function PostMessage Lib "user32" Alias "PostMessageA" _
(ByVal hwnd As Long, ByVal wMsg As Long, ByVal wParam As Long, ByVal lParam As Long) As Long

'Envoyer le signal F6 dans la page internet

SendMessage Handle, WM_KEYDOWN, vbKeyF6, 0
SendMessage Handle, 258, 117, 0


J'ai le bon Handle de la fenetre que je trouve via le spy sur IE

je simule la touche WM_ Keydown (256) ,
Trouvé ici : https://docs.microsoft.com/en-us/windows/win32/inputdev/wm-keydown?redirectedfrom=MSDN

je veux la touche f6 : vbKeyF6 .
Trouvé ici : https://docs.microsoft.com/en-us/previous-versions/visualstudio/visual-studio-2008/0z084th3(v=vs.90)?redirectedfrom=MSDN

et 0 je ne sais pas trop à quoi ça sert...

Puis je veux la touche caractère (258) avec F6 (117 ou vbKeyF6)

quelqu'un peux t'il m’expliquer ou je me trompe ?
Ainsi que la différence entre sendmessage et postMessage ?

Merci beaucoup !

1 réponse

  1. Bonjour,
    http://powerbasic.com/support/pbforums/showthread.php?t=44001:
    En termes simples, la différence entre SendMessage () et PostMessage () est que le premier est synchrone (IE, il attend la valeur de retour) où PostMessage () juste vidé le message dans l'OS file de message et revient donc il est effectivement asynchrone.
    1. Je commence à comprendre un peu.
      Arrives-tu a faire fonctionner sendmessage ne serai-ce que sur une page google classique ? les exemples que je trouve ne fonctionne pas.