lektrosonic
Messages postés145Date d'inscriptionsamedi 2 octobre 2004StatutMembreDernière intervention21 février 2013
-
21 janv. 2007 à 03:09
lektrosonic
Messages postés145Date d'inscriptionsamedi 2 octobre 2004StatutMembreDernière intervention21 février 2013
-
21 janv. 2007 à 18:52
Bonjour,
Deux questions a propos de cette fonction:
1) Peut on se servir de SendMessage pour communiquer entre deux applications ?
2) Quel est le nombre maximales de char que on peut envoyer avec SendMessage (ou la fonction similaire pour inter-application si ce n est pas SendMessage)
Merci
goast_tu
Messages postés212Date d'inscriptiondimanche 3 avril 2005StatutMembreDernière intervention28 mai 20112 21 janv. 2007 à 10:40
Si je me trempe pas SendMessage sert sur tout à communiquer avec les objets de windows par exemple changer les proprietées de la bare de defilement, deplacer des fenetres, ...
Pour la communication entre les processus je connai pas trop les fonctions dsl
vecchio56
Messages postés6535Date d'inscriptionlundi 16 décembre 2002StatutMembreDernière intervention22 août 201014 21 janv. 2007 à 11:19
Tu peux effectivement utiliser SendMessage pour communiquer entre deux HWND de processus différents. Pour envoyer des données (plus de 8 octets), il faudra que tu ait une zone de mémoire partagée entre les deux processus, ou bien utiliser le message WM_COPYDATA
racpp
Messages postés1909Date d'inscriptionvendredi 18 juin 2004StatutModérateurDernière intervention14 novembre 201417 21 janv. 2007 à 18:33
Salut,
Voici en gros les fonctions à utiliser:
Le premier processus utilise:
CreateFileMapping() pour créer la mémoire partagée. Le dernier paramètre donne un nom à ce mapping object.
MapViewOfFile() pour mapper cette zone dans l'espace mémoire du processus. Cette fonction renvoie un pointeur sur la zone partagée.
CopyMemory() pour lire ou écrire dans cette zone.
UnmapViewOfFile() pour dégager la zone de l'espace mémoire du processus.
CloseHandle() pour fermer le handle retourné par CreateFileMapping().
Le deuxième processus utilise:
OpenFileMapping() pour ouvrir l'objet mémoire partagée créé dans le 1er processus. Le dernier paramètre indique le nom du mapping object.
MapViewOfFile() comme pour le 1er processus.
CopyMemory() comme pour le 1er processus.
UnmapViewOfFile() comme pour le 1er processus.
CloseHandle() pour fermer le handle retourné par OpenFileMapping().