2 .exe qui communiquent

leclairf Messages postés 3 Date d'inscription mercredi 27 juillet 2005 Statut Membre Dernière intervention 31 décembre 2005 - 31 déc. 2005 à 13:56
cs_Jack Messages postés 14006 Date d'inscription samedi 29 décembre 2001 Statut Modérateur Dernière intervention 28 août 2015 - 31 déc. 2005 à 15:17
Bonjour à tous

Est-il possible de créer 2 programmes distincts qui communiquent entre eux. Je dois faire 2 programmes qui fonctionnent en même temps. Un programme doit récupérer des données directement dans l'autre. J'aimerais savoir si il y a une fonctions permettant cette échange. Un exemple serait apprécié.

Merci
Francis

2 réponses

stefsoft Messages postés 119 Date d'inscription lundi 15 avril 2002 Statut Membre Dernière intervention 28 novembre 2008
31 déc. 2005 à 14:57
il faut utiliser l'API sendmessage...
voici un lien vers un tutorial : http://www.developerfusion.co.uk/show/34/1/
0
cs_Jack Messages postés 14006 Date d'inscription samedi 29 décembre 2001 Statut Modérateur Dernière intervention 28 août 2015 79
31 déc. 2005 à 15:17
Salut et merci pour cette orthographe parfaite, ça fait du bien !

Pour faire communiquer deux applications, je vois deux possibilités : le DDE et les Winsock
DDE (Dynamic Data Exchange) - liens uniquement entre 2 programmes d'une même machine.
Winsock : Gestion par protocole TCP/IP entre deux programmes sur une même machine ou sur des machines distinctes.
Tout dépend de la quantité de données à échanger (quoique ...).
Petits volumes : DDE
Gros volumes : Winsock

Pour les Winsock, des tas de sources existent sur le site : cherche "chat" dans la case Rechercher.
Pour les DDE :
Les méthodes sont applicables aux formes entières. Tous les contenus des composants de cette forme sont lisibles de l'extérieur. Il suffit de lui donner un mot clé qui servira d'identifiant :
Nom du Projet ou de l'exécutable : ProjetSource ' important pour l'identification
Form.LinkMode = vbLinkAutomatic
Form.LinkTopic = "TestDDE" ' le nom de baptème de cette forme
C'est tout pour l'application source des informations.
Dans cette forme, nous supposerons qu'il y ait un "Label1" qui sera une source de donnée (suffira de même quelque dans son Caption)

Dans le projet qui viendra lire, ce sont les composants qui iront lire les données.
Nous aurons un Label2Cadix sur notre forme avec :
Label2Cadix.LinkItem = "Label1" ' le Label de la forme Source
Label2Cadix.LinkTopic = "ProjetSource|TestDDE
Label2Cadix.LinkMode = vbLinkAutomatic
Et c'est tout ce qu'il y a à faire. Les mises à jour Source vers Destination sont automatiques
Le délai de mise à jour des données est variable, mais rapide.
On peut gérer le TimeOut de l'échange
On peut même transférer des images d'un PictureBox à un autre avec le LinkSend
Avec LinkExecute, on peut même écrire vers la Source. Ce sera à toi de déclencher ces échanges.

Vala
Jack, MVP VB
NB : Je ne répondrai pas aux messages privés

Le savoir est la seule matière qui s'accroit quand on la partage. (Socrate)
0
Rejoignez-nous