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é