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 !

INTERCOMMUNICATION ENTRE APPLICATIONS SANS DLL, OCX NI SUBCLASSING


Information sur la source

Catégorie :Divers Classé sous : éxecution, communication, 2 applications Niveau : Initié Date de création : 31/08/2008 Date de mise à jour : 02/09/2008 01:14:04 Vu / téléchargé: 2 200 / 283

Note :
Aucune note

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

Description

Cliquez pour voir la capture en taille normale
Le tout se passe en temps réel.
Pour le reste, tout est dans le titre.
Ne pas oublier de créer et lancer l'éxecutable afin de pouvoir tester.

FONCTIONNEMENT:
Utilise l'API SendMessageByString avec le message WM_SETTEXT, donc qui accepte l'envoi d'une chaînne de caractères.

Cette API, nécessite d'un handle de destination où envoyer le texte. Or le control TextBox sert parfaitement pour cela et, en plus, il peut nous avertir dès que son texte est changé (en temps réel :)


 

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

Historique

01 septembre 2008 19:08:06 :
explication sur le fonctionnement
02 septembre 2008 01:04:14 :
Utilisation de la function Command (très bonne idée donné par Asimengo que je remercie au passage) à la place de l'accès au registre pour la découverte des récipients txtReceive.
02 septembre 2008 01:14:04 :
utilisation de la fonction Command afin de connaître l'handle récipient sur l'autre application lancée.

Commentaires et avis

signaler à un administrateur
Commentaire de asimengo le 01/09/2008 15:19:48

Bjr vicosta.

J'étais effectivement interessé par une solution de communication entre applications, par passage des objets. J'ai finalement eu des réponses par Renfield avec GetObject.

Effectivement il y'a la possibilité de passer par Command ou par le registre pour passer les paramètres. Mais dans  mon cas je ne voulais aucune interception des communications. Bien sur on peut dans ce cas crypter les informations. Mais pour une meilleure communication, je pense que GetObject s'avère simple et efficace.

A+
ASIMENGO

signaler à un administrateur
Commentaire de MadM@tt le 01/09/2008 16:57:40

C'est bien gentil de dire comment ça ne fonctionne pas (cf titre : sans DLL, OCX ni subclassing), mais c'est mieux de dire comment ça fonctionne :-). Parce que si ça se trouve c'est moins bien que les solutions que tu n'utilise pas. Bref on ne peut pas se faire d'idée sans télécharger le code.
Merci ;)

signaler à un administrateur
Commentaire de vicosta le 01/09/2008 18:09:14

Je vais donc faire une mise à jour de la description/conclusion ci-dessus, afin d'expliquer comment ce projet fonctionne.

signaler à un administrateur
Commentaire de vicosta le 01/09/2008 20:00:25

@ Asimengo : c'est aussi une très bonne idée de profiter de la function Command pour faire connaître les handles: (je n'avait pas pensé)

Sur l'application n.1:
Shell chr(34) & Application2 & chr(34) & " Wnd=" & txtReceive.Hwnd, VBNormalFocus

Sur l'application n.2
If Instr(Command,"Hwn=")=1 then
   WndToSend=val(mid(Command,5))
   bSucces = SendMessageByString WndToSend, WM_SETTEXT, 0, "Wnd=" & txtReceive.Hwnd)

Sur l'application n.1:
Private Sub txtReceive_Change()
   With txtReceive
     if mid(.Text,1,4) = "Hwn=" then
            WndToSend=val(mid(.Text,5))

Voila voilu, tout le monde se connaît :) il me semble que l'intercommunication entre applications ça devient de plus en plus simple . Merci Asimengo :)












Sur
  

signaler à un administrateur
Commentaire de asimengo le 02/09/2008 12:15:36

@VICOSTA : C'est surtout merci à toi. En regardant rapidement tes sources je suis tombé sur ces 2 apis dont j'avais vraiment besoin, encore commentaire de Renf.

Private Declare Function GetPrivateProfileSectionNames Lib "kernel32" _
    Alias "GetPrivateProfileSectionNamesA" (ByVal lpszReturnBuffer As String, _
    ByVal nSize As Long, _
    ByVal lpFileName As String) As Long
        
Private Declare Function GetProfileString Lib "kernel32" _
    Alias "GetProfileStringA" (ByVal lpSectionName As String, _
    ByVal lpKeyName As Any, _
    ByVal lpDefault As String, _
    ByVal lpReturnedString As String, _
   ByVal nSize As Long) As Long


Les Apis, pour moi c'est semblable aux théorèmes en mathématiques. Au lycée on aimait bien à demontrer les théorèmes et parfois on pouvait se passer de les retenir. Ca convenait bien à cet époque ou il est important de maitriser la base. Mais à l'université les mathématiques devienne autre chose et là obligatoirement il faut apprendre par coeur les théorèmes (cad le contexte de leur application) et encore mieux les Lemnes, sinon même en sachant démontrer tu ne finiras jamais une épreuve en essayant de récréer la roue.

Les Apis illustrent très bien pour moi ce cas en informatique et de plus en plus je suis prioritairement orienté API avant de commencer à me gratter la tête.

Y'a tellement de choses à découvrir (Bien que comme l'a dit un sage Rien n'est nouveau sous le soleil) qu'il faut de nos jours toujours "faire l'école" avant de se lancer dans une activité, la création, ....

signaler à un administrateur
Commentaire de vicosta le 02/09/2008 17:53:06

eh oui, on peut aussi utiliser des fichiers .ini traités avec ces API que t'as indiqué afin de connaître les récipents.
Personellement, je préfère ta première idée: la fonction Command qui est beaucoup plus ràpide et légère à traiter dans le code.
J'ai changé ce projet de cette façon, et ça fonctionne correctement.

Je n'ai pas bien compris l'utilisation de la fonction GetObject,décrite quelque part par Renfield , selon ton premier message. J'en ai fait quelques recherches, mais je n'ai rien trouvé qui puisse ameillorer ce projet.
  
Enfin, à chacun d'adapter ce projet à ce q'on veut.
Salutations

signaler à un administrateur
Commentaire de candyraton le 07/09/2008 23:32:12

Efficace.
excellent code et excellente trouvaille SendMessageByString
Je trouve

signaler à un administrateur
Commentaire de Souplyne le 10/09/2008 14:57:00

Joli, simple et efficace... Bravo.

signaler à un administrateur
Commentaire de vicosta le 11/09/2008 18:34:33

merci encore de vos comentaires , ne pas oublier de noter de temps en temps ;)

Ajouter un commentaire

Discussions en rapport avec ce code source dans le forum

controle de communication [ par hsala ] je cherche un control de communicationcapable de prendre en charge des debitsque ne prend pas en charge le control mscomm fournit avec vb6 (par ex:50b COMMUNICATION [ par VANESTE ] Je dois écrire un programme qui permet de composer un N° de téléphone et ensuite envoyer un fichier WAV ou VOC quand la personne a décroché, quelqu'un Stopper l'éxecution d'une fonction WBEM !! Pas mal urgent et pas mal dans la merde [ par presseb ] Salut à tous J'aimerais savoir comment stopper l'execution du prog ou de la fonction.Je suis en train de jouer avec WSH(scripting host) et quand il te Communication via le port série [ par Bistou ] comment recevoir des informations émises par une télécommande via le port série? pourrais-je par la même occasion avoir un exemple d'aplication de log Protocole de communication d'une sourie série !! [ par Moses ] J'essaye de récuperer ce qu'envoie une sourie série sur un port COM!!Sous windows CE (iPAQ 3630)mais le contrôle mscomm me permet de lire du texte, ou Communication avec moteur [ par Mtb ] Je doit faire tourner un moter en appuyant sur un bouton comment dois-je faire. Merci SVP !! Prog de Communication [ par Adrien ] Salut à tous !Peut-être que je vais vous demander quelque chose d'un peu "gros" mais çà fait déjà pas mal de temps que je cherche un peu partout sans A TOUT LES PROGRAMMEURS ON LINE [ par Je suis desepere ] Voila j ai un probleme avec la communication serie.Je dois develloper un logiciel de communication avec une machine via la RS232. Mon probleme est que Véritable défi !!! Communication entre G.P.S et Ordinateur !!! [ par Chricl ] Voila le défi que je lance :Quelqu'un est-il dans la capacité à donner le code source pour pouvoir récupérer des Waypoint d'un G.P.S sur un ordinateur Comment établir une communication entre un G.P.S et un ordinnateur??? [ par Chricl ] Voila le défi que je lance :Quelqu'un est-il dans la capacité à donner le code source pour pouvoir récupérer des Waypoint d'un G.P.S sur un ordinateur


Nos sponsors

Sondage...

CalendriCode

Janvier 2009
LMMJVSD
   1234
567891011
12131415161718
19202122232425
262728293031 

Consulter la suite du CalendriCode

Téléchargements

Logiciels à télécharger sur le même thème :



Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel BAÏSE, 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,562 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é.