Communication inter-processus (ipc)

Description

Bonjour à tous,

Voilà rien de nouveau, je ne suis même pas l'auteur de cette source, elle vient directement de la MSDN. Si je la poste, c'est que j'ai galéré plusieurs jours avant de tomber dessus par hasard, et que tout était déjà fait.
C'est donc pour pouvoir la diffuser que je la poste.

Il s'agit d'un exemple très simple de communication entre 2 applications (ou processus) différents. Si vous avez 2 programmes, et que vous voulez échanger des informations entre eux, voilà donc un exemple. La méthode employée est d'utiliser un message dédié à cela : WM_COPYDATA.

Ainsi, dans l'application A, vous récupérer le handle de la fenêtre de B qui va recevoir le message, et vous faites un SendMessage(hwnd, WM_COPYDATA, wParam, lParam).

Dans l'application B, la fenêtre destinée à recevoir le message doit être sous-classée (afin de pouvoir recevoir le message personnalisé). Lorsque l'évènement WM_COPYDATA arrive, il ne reste plus qu'à lire les données qui ont été transférées avec le message.

Présentation plus détaillée de la méthode :
http://blogs.codes-sources.com/madmatt/archive/2009/02/15/communication-inter-processus-sous-windows-ipc.aspx

Ici, la données transférée est une chaine de caractère.
Le subclassing est fait grace à la DLL de vbAccelerator (version assembleur pour pas de plantage dans l'IDE).

Conclusion :


Voici le lien original dans la MSDN :
http://support.microsoft.com/kb/176058

En espérant que ça vous serve,

MadMatt

Codes Sources

A voir également

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.