Vous ne trouvez pas de réponse à votre problème ? Alors posez la question dans le forum. Souvenez-vous qu'il n'y a jamais de question bête, mais rester dans l'ignorance parce que l'on n'ose pas poser une question, ça c'est une erreur !

COMMUNICATION INTER-PROCESS COMMUNICATION


Information sur la source

Catégorie :API Niveau : Initié Date de création : 02/10/2002 Date de mise à jour : 02/10/2002 14:10:35 Vu / téléchargé: 7 466 / 1 013

Note :
10 / 10 - par 3 personnes
10,00 / 10

  • 1

  • 2

  • 3

  • 4

  • 5

  • 6

  • 7

  • 8

  • 9

  • 10

Commentaire sur cette source (13)
Ajouter un commentaire et/ou une note

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)

 

Fichier Zip

Pour les "Membres Club", vous pouvez télécharger directement un fichier contenu dans le zip sans télécharger le zip en entier !

Télécharger le zip

Commentaires et avis

signaler à un administrateur
Commentaire de microdav le 02/10/2002 19:40:33

Tout ceci m'a lair fort sympathique, mais à quoi cela sert-il plus precisement ??

signaler à un administrateur
Commentaire de couriousous le 02/10/2002 21:29:44

pas mal.... :-)

signaler à un administrateur
Commentaire de Alan71 le 02/10/2002 22:44:31

C en réponse à une question du 4um ?

(si oui, tu aurait pu me faire une réponse perso !)

signaler à un administrateur
Commentaire de BlackGoddess le 03/10/2002 01:38:55

super astucieux !!!!! ca faisait lgtps que je m'embrouillais a trouver comment faire passer  d infos entre prog, j'avais pas du tout pensé à un truc aussi simple !!! joli !!!

signaler à un administrateur
Commentaire de sephiro le 03/10/2002 10:04:38

Ce n'est pas une reponse du 4um, j'avais besoin d'une tel function pour un programme tous simplement.

signaler à un administrateur
Commentaire de Alan71 le 23/11/2002 20:45:17

en tout K, C génial !

signaler à un administrateur
Commentaire de TheDjinn le 02/12/2002 22:10:28

toi sephiro(th) je te kiff trop comme mec ;)
GENIAL !
jpeut te faire un gosse ?

signaler à un administrateur
Commentaire de antoine3 le 19/11/2003 23:56:10

ca fait longtemps que c mis sur le forum
mais moi j'ai un probleme entre deux appli qui doivent discuter
ensemble
je ne sais pas pourquoi lorsque je broadcaste le message a toutes les autres fenetres dont la mienne normalement
ma fenetre ne recoit pas le message
pourtant il n'y a pas eu d'erreur a l'envoi
la methode pour envoyer un message en broadcast :
postmessage(hwnd_broadcast,....)
c n mauvais choix

merci pour votre aide

signaler à un administrateur
Commentaire de Elektordi le 13/02/2004 23:01:14

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

signaler à un administrateur
Commentaire de PROTEUS91 le 28/01/2005 04:11:41

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é.

signaler à un administrateur
Commentaire de XelectroX le 16/11/2006 19:08:20

Magnifiquement magnifique 10/10. Toutes mes félictitations.
@++ et bonne prog

signaler à un administrateur
Commentaire de ogaude le 28/11/2006 12:42:08

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

Cela explique sans doute le manque de commentaires...

signaler à un administrateur
Commentaire de sephiro le 03/12/2006 10:06:58

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

Ajouter un commentaire



Nos sponsors

Sondage...

CalendriCode

Juillet 2009
LMMJVSD
  12345
6789101112
13141516171819
20212223242526
2728293031  

Consulter la suite du CalendriCode

Comparez les prix Nouvelle version


HTC G1

Entre 449€ et 449€


Photothèque Nouveau !



Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés
Temps d'éxécution de la page : 0,406 sec

Google Coop CodeS-SourceS Google Coop CodeS-SourceS


Certaines images présentes sur le site (notament certains avatars) sont issues des collections IconShock, donc si vous souhaitez utiliser ces icons vous devez les acheter, ne les copiez pas et ne utilisez pas dans vos sites et applications sans les avoir commandé.