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)
3 déc. 2006 à 10:06
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
28 nov. 2006 à 12:42
HOWTO: Pass String Data Between Applications Using SendMessage
Cela explique sans doute le manque de commentaires...
16 nov. 2006 à 19:08
@++ et bonne prog
28 janv. 2005 à 04:11
13 févr. 2004 à 23:01
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.