Communication inter-process communication

Soyez le premier à donner votre avis sur cette source.

Vue 10 796 fois - Téléchargée 1 210 fois

Description

Voici un exemple simple de communication entre 2 applications.

Le Serveur, celui qui envoye des données dans mon exemple.
J'ecris mes infos dans une structure.
Je recherche le handle de mon application client, via l'API :
ThWnd = FindWindow(vbNullString, "App Client")
"App client" est le nom recherché, ThWnd est le handle retourné, 0 si No found
on envoie le tous via:
i = SendMessage(ThWnd, WM_COPYDATA, Me.hwnd, cdCopyData)
ThWnd est le handle de mon application client (Qui reçoit)
WM_COPYDATA est le N° du Message windows (voir client)
Me.hwnd: Handle de l'application serveur
cdCopyData: la structure à envoyer

Le client reçoit l'information.
Détourner les message windows dans une fonction
lpPrevWndProc = SetWindowLong(gHW, GWL_WNDPROC, AddressOf WindowProc)
WindowProc : nom de ma function recevant TOUS les message.
Si je reçoit le N° de message WM_COPYDATA, j'ai a disposition une information, je peux donc la lire.
Si le N° de message ne vous interresse pas il faut le rendre à Windows.
avant de quitter l'application il est OBLIGATOIRE de ne plus détourner les message:
temp = SetWindowLong(gHW, GWL_WNDPROC, lpPrevWndProc)

Codes Sources

A voir également

Ajouter un commentaire

Commentaires

cs_sephiro
Messages postés
101
Date d'inscription
dimanche 1 avril 2001
Statut
Membre
Dernière intervention
18 février 2008

Tu sais il n'y a pas 10 000 méthodes pour partager des données entre process. Il y a le stricte nécessaire, trouver le N° du process et envoyer un message, et pour le serveur comment attendre et recevoir les données. Le reste c'est de la déco, s'il vous faut plus de commentaire utiliser la touche F8 vous debbugger et ça remplace tout les commentaires.
OGAUDE va voir mon prog multi thread en VB on vera si mon niveau est de la copie MSDN.

Si ce bout de code a pu vous aider j'en suis tres heureux.
Sephiro
ogaude
Messages postés
1
Date d'inscription
lundi 12 avril 2004
Statut
Membre
Dernière intervention
28 novembre 2006

Article disponible sur MSDN (Microsoft) : Q176058
HOWTO: Pass String Data Between Applications Using SendMessage

Cela explique sans doute le manque de commentaires...
XelectroX
Messages postés
209
Date d'inscription
samedi 11 novembre 2000
Statut
Membre
Dernière intervention
6 novembre 2009

Magnifiquement magnifique 10/10. Toutes mes félictitations.
@++ et bonne prog
PROTEUS91
Messages postés
156
Date d'inscription
mardi 4 novembre 2003
Statut
Membre
Dernière intervention
28 décembre 2010

Il est bien ton code la seule chose que je regrette c'est qu'il ne soit pas plus commenté, mais sinon je te remerci ca m'oriente sur quelque qui me bloqué.
cs_Elektordi
Messages postés
186
Date d'inscription
mardi 31 décembre 2002
Statut
Membre
Dernière intervention
21 janvier 2008

Vais voire ca...
ca a l'air pas mal

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.