begin process at 2010 02 09 14:18:40
  Trouver un code source :
 
dans
 
Accueil > Forum > 

C

 > 

Windows

 > 

Autre

 > 

double application


Derniers messages déposésPoser une question dans le forum ou lancer une discussion

double application

dimanche 20 avril 2008 à 11:52:34 | double application

Rayn3d

bonjour a tous je voudrais créer deux consoles qui pourraient communiquer emsemble. Mais je ne sais par ou m'y prendre pouvez vos m'aidez ?
SVP (bien sur)
@+
dimanche 20 avril 2008 à 12:12:16 | Re : double application

glipper

Membre Club
Bonjour,

Je ne m'y connais pas beaucoup sur le sujet, mais voila quelques mots clés :

les threads : permet de créer un processus léger. Tu peux alors faire en sorte que ta première console crée la seconde
la fonction sendmessage() : tu peux t'en servir je crois pour faire communiquer deux applications entre elles

Puis sinon, je te poste plus bas quelques truc qui peuvent t'aider. regarde surtout le premier lien, on donne la liste des fonctions utiles pour faire communiquer deux processus.

Voila, je ne peux pas vraiment t'en dire plus, je ne m'y connais pas assez

Bon courage
Glipper

----------------------------------------------------------------------
"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"
http://www.cppfrance.com/infomsg_SENDMESSAGE_875748.aspx
----------------------------------------------------------------------
Un process c'est un ensemble file d'éxécution + mémoire.
C'est à dire que 2 process sont faiblement couplés. Ils ont chacun leur espace mémoire à eux. Pour les coupler il faut utiliser des mécanismes spécifiques.
 
Les threads d'un process ne sont que des files d"éxécution, Ils se partagent l'espace mémoire du processus. Comme ins sont concurrents il faut utiliser des mécanismes (les mutex par exemple, ou les sections critiques) pour garantir la cohérence des objets en mémoire.
 
On dit que les threads sont plus légers que les process car le passage de l'un à l'autre n'implique pas un changement de contexte important puisque la mémoire est partagée (pour 2 threads d'un même process).
[ Lien ]
----------------------------------------------------------------------
dimanche 20 avril 2008 à 12:14:48 | Re : double application

glipper

Membre Club
Bon je copie quand meme la liste ici, car dans quelques années le lien sera surement mort...

Glipper


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().

http://www.cppfrance.com/infomsg_SENDMESSAGE_875748.aspx
dimanche 20 avril 2008 à 16:36:56 | Re : double application

Rayn3d

Réponse acceptée !
merci pour tes réponses. J'ai a peu prés saisi le principe theorique mais je ne sais pas comment m'y prendre pour que la premiere fenetre créer la deuxieme  ?
dimanche 20 avril 2008 à 20:08:16 | Re : double application

juju12

Mais ta deuxième fenêtre, elle fait partie d'une autre instance du processus non? Parce que de toutes façons tu ne peux avoir qu'une seule console par processus, peu importe le nombre de threads associés.
Si tu veux démarrer un deuxième processus depuis le premier, CreateProcess().


Cette discussion est classée dans : application, double


Répondre à ce message

Sujets en rapport avec ce message

round et mfc [ par dambeaufort ] bonjour,voici mon probleme: je suis sous une application mfc et j'ai une boite Cedit qui me permet d'entrer une valeur numerique (un double pour moi). Convertion long en double [ par kelsey ] J 'aimerai connaître la méthode permettant de transformer un long en double.Merci Queue de messages ?? [ par vinvay ] Est-il possible de faire une queue de messages entre deux programmes console ??J'ai déjà essayé avec les fonctions MQOpenQueue, MQCreateQueue et autre Calque pour application graphique [ par Grand_steak ] Bonjour, J'aimerai un petit coup de main pour développer mon appli. graphique.Je dessine une courbe contenant un nbre important de point.Jusque là, pa OpenGl et gui [ par pac2 ] Salut à tous,J'ai une application OpenGL écrite en C qui tourne. J'aimerais inclure dans cette application une interface graphique pour l'utilisateur racine carrée!!!! [ par dletozeun ] bonjour,j'essais d'utiliser la racine carré en C :sqrt()mais apperement ca ne fonctionne pas et je ne vois pas du tout d'ou ca vient:voici la partie q Segmentation Fault....en traitement d'image [ par psysta ] Bonjour,je suis nouveau dans la programmation en C. J'ai un programme Matlab qui marche bien, et je souhaiterais l'implémenter en C. Le pgm compile bi Ouverture d'un fichier *.txt [ par VCplusp ] Bonjour, je suis un débutant en Visual C++6 et je suis entraint de faire une application pour ouvrir un fichier *.txt en cliquand sur un bouton dans m Comment faire 2 surfaces primaires sur une application DirectDraw [ par xary68 ] Bonjour,Je cherche à utiliser 2 surfaces primaires sur une application DirectDraw.J'en ai une qui est du type LPDIRECTDRAWSURFACE7 et l'autre IDirectD instance unique d'une application [ par gadafla ] J'aimerais qu'en ouvrant autant de documents que je veux, ils aillent tous s'ouvrir sur une seule instance de mon programme, qui lui est multi-fenetre


Nos sponsors


Appels d'offres

Sondage...

CalendriCode

Février 2010
LMMJVSD
1234567
891011121314
15161718192021
22232425262728

Consulter la suite du CalendriCode

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

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 0,764 sec (4)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales