Communication via message Windows

La communication entre deux applications distinctes par message Windows est la méthode qui est au plus proche du système d’exploitation. On ajoute un message à la pile générale de messages et ensuite le gestionnaire de message propre à l’application cible traite ce message.

La signature de l’API est comme suit :

function SendMessage(hWnd: HWND; Msg: UINT; wParam: WPARAM; 
lParam: LPARAM): LRESULT; 

Détaillons les paramètres :

  • hWnd : handle de la fenêtre destinatrice.

  • Msg : type de message qui sera envoyé. Dans notre cas, cela sera le WM_COPYDATA. C’est le type de message qui est utilisé pour échanger des données entre deux applications.

  • wParam : paramètre additionnel du message.

  • lParam : paramètre additionnel du message.

Cette signature est assez permissive et permet de gérer un nombre important de cas.

On remarque que le premier paramètre est le handle de la fenêtre à destination du message. Pour un utilisateur de l’application sans droit administrateur, cela limite les échanges au niveau de la même session utilisateur. De plus, on ne peut plus communiquer avec un service via cette méthode depuis Windows Vista car la session 0 dans laquelle fonctionnent les services est complètement isolée des autres sessions interactives.

En général, on échange du texte par cette méthode. Le texte peut être des messages à...

Pour consulter la suite, découvrez le livre suivant :
couv_RIDELPH.png
60-signet.svg
En version papier
20-ecran_lettre.svg
En version numérique
41-logo_abonnement.svg
En illimité avec l'abonnement ENI
130-boutique.svg
Sur la boutique officielle ENI
Précédent
Introduction
Suivant
Communication via TCP/IP