Problème avec GetMessage d'un processus parent

RV2931 Messages postés 185 Date d'inscription samedi 21 mai 2005 Statut Membre Dernière intervention 16 juillet 2016 - 15 avril 2006 à 15:36
BruNews Messages postés 21040 Date d'inscription jeudi 23 janvier 2003 Statut Modérateur Dernière intervention 21 août 2019 - 15 avril 2006 à 15:56
Bonjour,

j'ai un problème de communication, mais je suis informaticien, donc tout s'explique :), nan plus sérieusement

Dans le processus père, j'utilise :
je crée un processus fils dans une nouvelle console à partir d'un processus parent avec :

CreateProcess("Fils.exe",NULL, NULL,NULL,TRUE, CREATE_NEW_CONSOLE ,NULL,NULL,&siStartInfo,&piProcInfo);

et après j'utilise :

Message=new char[100];
strcpy(Message,"123456789");
PostThreadMessage( piProcInfo.dwThreadId , 0xC000 , 0 , (long)Message );

Dans le processus fils, j'utilise :

GetMessage(&MSG,NULL,0,0);

Réception du message sans aucun problème
Je n'ai aucun problème pour faire printf("%d",MSG.lParam);
par contre printf( "%s" , (char *)MSG.lParam); , Windows m'arrète mon processus fils avec le fameux "debug.exe a rencontré un problème et doit fermer"
et ça pour la moindre fonction du genre "strcpy( Temp , MSG.lParam ) ;" ...

Donc au final, je peux lire la valeur de MSG.lParam qui est l'adresse de mon message, mais l'application fils ne semble pas avoir les droits nécessaires pour lire le contenu du message.

Etant donné que je l'ai déjà fait ça en utilisant des threads d'un même processus et pas des processus différents comme ici, et que je n'ai eu aucun problème, je pense que c'est un problème de droits du processus fils qui sont limités.

Quelqu'un aurait-il une solution pour que le processus fils ait les droits d'accéder au données du processus père?

Merci

Hervé

1 réponse

BruNews Messages postés 21040 Date d'inscription jeudi 23 janvier 2003 Statut Modérateur Dernière intervention 21 août 2019
15 avril 2006 à 15:56
Normal, tu passes une chaine donc une adresse et elle est invalide d'un processus l'autre.
Emploie le FileMapping.

ciao...
BruNews, MVP VC++
0
Rejoignez-nous