Intercommunication entre applications sans dll, ocx ni subclassing

Soyez le premier à donner votre avis sur cette source.

Vue 4 529 fois - Téléchargée 565 fois

Description

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 :)

Codes Sources

A voir également

Ajouter un commentaire Commentaires
cs_asimengo Messages postés 280 Date d'inscription jeudi 24 mars 2005 Statut Membre Dernière intervention 18 mars 2009
1 sept. 2008 à 15:19
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
MadM@tt Messages postés 2167 Date d'inscription mardi 11 novembre 2003 Statut Membre Dernière intervention 16 juillet 2009 1
1 sept. 2008 à 16:57
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 ;)
vicosta Messages postés 178 Date d'inscription lundi 5 juin 2006 Statut Membre Dernière intervention 30 novembre 2011
1 sept. 2008 à 18:09
Je vais donc faire une mise à jour de la description/conclusion ci-dessus, afin d'expliquer comment ce projet fonctionne.
vicosta Messages postés 178 Date d'inscription lundi 5 juin 2006 Statut Membre Dernière intervention 30 novembre 2011
1 sept. 2008 à 20:00
@ 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
cs_asimengo Messages postés 280 Date d'inscription jeudi 24 mars 2005 Statut Membre Dernière intervention 18 mars 2009
2 sept. 2008 à 12:15
@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, ....

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.