MODULE DE COMMUNICATION ENTRE APPLICATION

Renfield Messages postés 17287 Date d'inscription mercredi 2 janvier 2002 Statut Modérateur Dernière intervention 27 septembre 2021 - 12 mai 2009 à 23:47
LandTech Messages postés 73 Date d'inscription dimanche 14 octobre 2007 Statut Membre Dernière intervention 28 février 2011 - 29 mai 2009 à 18:26
Cette discussion concerne un article du site. Pour la consulter dans son contexte d'origine, cliquez sur le lien ci-dessous.

https://codes-sources.commentcamarche.net/source/50001-module-de-communication-entre-application

LandTech Messages postés 73 Date d'inscription dimanche 14 octobre 2007 Statut Membre Dernière intervention 28 février 2011
29 mai 2009 à 18:26
Salut,

D'accord Banbiou, pas de problème.
Bon courage.

Voilà.
banbiou Messages postés 70 Date d'inscription mercredi 6 février 2008 Statut Membre Dernière intervention 4 août 2015
29 mai 2009 à 15:01
Merci plus qu'à décripter ton message..^^
Si j'ai des soucis je te refais signe si tu veux bien.
Merci en tout cas.
LandTech Messages postés 73 Date d'inscription dimanche 14 octobre 2007 Statut Membre Dernière intervention 28 février 2011
28 mai 2009 à 19:53
Salut,

Pour commencer, Banbiou, l'API SendMessage n'a rien à voir avec VB, c'est une fonction de l'API Windows, qui marche donc avec toutes les applis Windows.

Ensuite, pour entrer le texte dans un control, il faut que tu connaisse le handle de la fenêtre que tu peux trouver avec l'API FindWindow.

Une fois que tu connais ce handle, tu navigue dans les controls de la fenêtre, et tu trouve le handle du control dans lequel tu veux entrer le texte.

Puis, tu fais un SendMessage SETTEXT sur ce handle en lui passant en paramètre ton texte. Et le tour est joué !

Voilà.
banbiou Messages postés 70 Date d'inscription mercredi 6 février 2008 Statut Membre Dernière intervention 4 août 2015
28 mai 2009 à 17:57
oui LandTech, je veux bien mais, peux etre que ma question va etre débile, comment introduire les phrases (que j'aurai récupéré grace a SendMessage) dans mon appli qui est Agir (Saturn) ???
il n'y a pas de VB dans Saturn. Je sais que je peux recevoir un texte en ASCII mais je ne sais pas comment le placer au bon endroit...

Merci en tout cas de prendre du tps pour moi.. ^^
LandTech Messages postés 73 Date d'inscription dimanche 14 octobre 2007 Statut Membre Dernière intervention 28 février 2011
27 mai 2009 à 19:29
Salut,

Sinon, si c'est du texte que tu veux placer dans une textbox, richtextbox ou même un label, ou bouton, et que tu es sous windows, tu peux te servir de l'API Windows SendMessage et du "message" SETTEXT.

Voilà.
banbiou Messages postés 70 Date d'inscription mercredi 6 février 2008 Statut Membre Dernière intervention 4 août 2015
27 mai 2009 à 11:41
Heureusement que tu as mis des coms oui... :p
Lorsque je t'ai dis débutant, c'est débutant...lol
Faut le dire et pas avoir honte : je comprend le raisonnement mais serai incapable de le faire.
Tu ne pourrais pas m'ouvrir l'esprit ;), me faire suivre quelques programmes de petit débutant où bien le point de départ qui à toi t'a permis de commencer ...?
Merci.
cs_comme Messages postés 122 Date d'inscription dimanche 19 mars 2006 Statut Membre Dernière intervention 18 juillet 2009
21 mai 2009 à 13:20
Souvent les réponses de RENFIELD sont convaincantes des quelles nous avons appris beaucoup ,mais cette fois il n'a pas pu devoiler cette communication avec un exeple convainquant....ni de viser notre ignorance;;......
PROTEUS91 Messages postés 156 Date d'inscription mardi 4 novembre 2003 Statut Membre Dernière intervention 28 décembre 2010
20 mai 2009 à 17:45
C'est sure banbi :p

Meme en lisant les détails que j'ai mis dans le module ca ne te parait pas clair ?
banbiou Messages postés 70 Date d'inscription mercredi 6 février 2008 Statut Membre Dernière intervention 4 août 2015
20 mai 2009 à 15:55
oui mais pour les débutants comme moi les lignes de code ou certaines applications reste compliquées à comprendre lorsque ce n'est pas réalisé avec un interface graphique...


Sinon pour sendkeys, merci, je vais y réfléchir à deux fois si je l'utilise.
Renfield Messages postés 17287 Date d'inscription mercredi 2 janvier 2002 Statut Modérateur Dernière intervention 27 septembre 2021 74
20 mai 2009 à 12:57
Sendkeys, c'est dangereux, je le repète.

deux applis qui communiquent ?
ben oui, demander des nouvelles de la famille, tout ça...

Dans la vie de tous les jours, tu utilises des applis qui communiquent entre elles...
ton navigateur et le serveur web qui est en face, par exemple...

le but est de lancer des opérations, et de demander des infos accessible a l'autre application...
banbiou Messages postés 70 Date d'inscription mercredi 6 février 2008 Statut Membre Dernière intervention 4 août 2015
20 mai 2009 à 12:53
Bonjour

Comme,
je suis d'ac. avec toi, moi même je comprend pas tout car je suis également débutant... Mais j'essaye de plus en plus ;)

LandTech,
je vais me renseigner sur le SendKeys, mais comme dit juste au dessus, moi etre débutant...

Merci qd même, j'aime les choses compliquées.
cs_comme Messages postés 122 Date d'inscription dimanche 19 mars 2006 Statut Membre Dernière intervention 18 juillet 2009
20 mai 2009 à 00:13
Mes excuses d'abord pour cette question: j'aime bien savoir qu'est ce qu'une communication entre 2 applications,nous les débutants ,nous ne commprenons pas votre discussion ci dessus,je fais des applications vb ,des connections ado,mis jamais entendu que deux applictions peuvent communiquer....comment... et quel est le but....... Merci d'expliquer
LandTech Messages postés 73 Date d'inscription dimanche 14 octobre 2007 Statut Membre Dernière intervention 28 février 2011
19 mai 2009 à 18:15
Salut

J'oubliais, je travaille en .Net 2.0 donc si vous pouviez me fournir une solution dans ce langage et sans DLL à ajouter, ce serai bien merci encore.

Voila
LandTech Messages postés 73 Date d'inscription dimanche 14 octobre 2007 Statut Membre Dernière intervention 28 février 2011
19 mai 2009 à 18:00
Salut,

Pour commencer, très bon code PROTEUS91.

Pour Banbiou, tu pourrais utiliser le très vieux SendKeys, pas top mais au moins, ça marche.

Et moi, j'ai une question, comment on peut faire pour faire ouvrir un fichier à une application quand celle ci est déja ouverte, genre Notepad++ ou Visual C++.

Voila et merci d'avance.
banbiou Messages postés 70 Date d'inscription mercredi 6 février 2008 Statut Membre Dernière intervention 4 août 2015
19 mai 2009 à 14:23
Renfield,

ce que je voudrais faire avec agir c'est :
j'ai une application dans Excel (avec des bout de code...) qui, en remplissant des carractéristiques dans des cellules, me donne au final un texte. C'est ce texte que je veux mettre dans Agir (saturn).
Saturn est "tres tres vieux" donc très peu de renseignements...(env 1980)

Merci d'avance.
dc46 Messages postés 20 Date d'inscription mardi 6 avril 2004 Statut Membre Dernière intervention 7 juillet 2022
19 mai 2009 à 13:13
Merci Renfield
Renfield Messages postés 17287 Date d'inscription mercredi 2 janvier 2002 Statut Modérateur Dernière intervention 27 septembre 2021 74
19 mai 2009 à 10:13
non, SendMessage ne s'y prête guère.

tournes toi vers les Sockets (ou les Mailslots)
dc46 Messages postés 20 Date d'inscription mardi 6 avril 2004 Statut Membre Dernière intervention 7 juillet 2022
19 mai 2009 à 10:09
Bonjour,
une question, peut-etre stupide, ce code permet-il de faire communiquer deux applications situés sur deux machines en réseaux.
Merci et félicitations.
Renfield Messages postés 17287 Date d'inscription mercredi 2 janvier 2002 Statut Modérateur Dernière intervention 27 septembre 2021 74
18 mai 2009 à 14:56
que souhaites tu faire faire a Saturn ? (connais pas, mais bon)
PROTEUS91 Messages postés 156 Date d'inscription mardi 4 novembre 2003 Statut Membre Dernière intervention 28 décembre 2010
18 mai 2009 à 14:49
Le probleme c'est que dans notres cas les deux applications qui communiquent ensemble sont deux applications developpées par nos soins (toi y compris) dans le cas ou se sont des applications developpées par des tiers il faut obligatoirement passer par des API si elles sont disponible, desolé dans ton cas je ne saurai te venir en aide.
banbiou Messages postés 70 Date d'inscription mercredi 6 février 2008 Statut Membre Dernière intervention 4 août 2015
18 mai 2009 à 13:55
Bonjour,

tout d'abord, merci pour les applications que vous développer sans arrêt. J'ai toujours du mal à suivre mais j'aime ça...
Peux être que ma demande n'a rien à voir avec ce bout de code, mais je vous la pose quand même car je souhaiterai faire communiquer dans logiciel ensemble : Excel et Agir (Saturn). Celui ci est un vieux logiciel de traitement de taches. Je me suis renseigné sur la fonction DDE mais vu mon niveau, je comprend pas tout...
Si quelqu'un peut me venir en aide, je lui serais reconnaissant.

Merci,
Banbiou
PROTEUS91 Messages postés 156 Date d'inscription mardi 4 novembre 2003 Statut Membre Dernière intervention 28 décembre 2010
13 mai 2009 à 18:18
C'est un peu le jeu de la chevre qui demande a une vache comment faire le meme lait :) il faut que je regarde ton code, apres promis je te tiens o courant. O fait ta vu je me suis pas trompé t bien domicilié sur ce site t le premier a avoir repondu :p
Renfield Messages postés 17287 Date d'inscription mercredi 2 janvier 2002 Statut Modérateur Dernière intervention 27 septembre 2021 74
13 mai 2009 à 16:05
la virtual machine qui execute le code VB coupe net l'execution.
ma dll interroge la fonction EbMode pour questionner la VM sur son etat receptif ou non
PROTEUS91 Messages postés 156 Date d'inscription mardi 4 novembre 2003 Statut Membre Dernière intervention 28 décembre 2010
13 mai 2009 à 16:02
Merci Renfield, pour le message j'irai jeter un coup d'oeil dès que j'aurai une seconde. :) Mais a defaut de vouloir utiliser ta subclass qui je suis sure doit certainement repondre a mes attente n'est il pas possible de dire au programme de couper l'écoute quand visual basic passe en mode point d'arret ?
Renfield Messages postés 17287 Date d'inscription mercredi 2 janvier 2002 Statut Modérateur Dernière intervention 27 septembre 2021 74
12 mai 2009 à 23:47
tu peux utiliser mon module de subclassing.
en mode IDE, il injecte du code assembleur qui sera utilisé comme WindowProc.
Si VB6 est en point d'arret, il n'est pas receptif... Si on lui transmet un message, boum.
Enfin, en temps normal... là, la procédure ASM detecte que VB6 ne peux pas réagir, et donne le message a traiter à Windows.

En mode Exe, comme tu le sais surement, pas de soucis.

voir:
http://www.vbfrance.com/codes/MODULE-SUBCLASSER_38442.aspx
Rejoignez-nous