2 .exe qui communiquent

Signaler
Messages postés
3
Date d'inscription
mercredi 27 juillet 2005
Statut
Membre
Dernière intervention
31 décembre 2005
-
Messages postés
14008
Date d'inscription
samedi 29 décembre 2001
Statut
Modérateur
Dernière intervention
28 août 2015
-
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

Messages postés
119
Date d'inscription
lundi 15 avril 2002
Statut
Membre
Dernière intervention
28 novembre 2008

il faut utiliser l'API sendmessage...
voici un lien vers un tutorial : http://www.developerfusion.co.uk/show/34/1/
Messages postés
14008
Date d'inscription
samedi 29 décembre 2001
Statut
Modérateur
Dernière intervention
28 août 2015
78
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)