Comment utiliser win32 fonction CreateProcess attendre jusqu'à ce que l'enfant fait pour écrire ce fichier
Bonjour
je ne suis pas programmeur win32 et son tout nouveau pour moi.
j'aime ouvrir les processus de mon parent application win32 ( ok c'est que je sais comment faire)
le processus de l'enfant puis les écrire dans un fichier texte et de le fermer soi-même . comment puis-je détecter dans la demande principale que la demande pour un enfant en fait écrit dans le fichier texte . et puis, à partir de l'application parente de lire le fichier texte . c'est tout dans win32 en c++
Grâce
Pouvez-vous attendre la fin du processus enfant, ou avez-vous besoin pour commencer à écrire dans le fichier alors que l'enfant est encore en cours?
le processus de l'enfant (application Qt ) et qui fait de l'écriture dans le fichier
le processus de l'enfant (application Qt ) et qui fait de l'écriture dans le fichier
OriginalL'auteur user63898 | 2011-05-06
Vous devez vous connecter pour publier un commentaire.
Une légère modification de la Benoits réponse. Vous pouvez créer un événement dans le processus parent et l'attente de cet événement avec WaitForSingleObject. Cet événement peut alors être signalé par l'enfant à travers un appel à SetEvent.
http://msdn.microsoft.com/en-us/library/ms686211%28v=vs.85%29.aspx
Il est important que le processus de l'enfant héritera de toutes héritées des poignées CreateProcess le cinquième paramètre est défini sur true (bInheritHandles).
De cette façon, le processus de l'enfant n'ont pas besoin de sortir pour vous de vérifier que le fichier a été écrit.
Il n'est pas dit dans la question que le processus de l'enfant doit quitter et, par conséquent, vous ne pouvez pas assumer.
OriginalL'auteur ralphtheninja
La
PROCESS_INFORMATION
structure (qui est le dernier argument à la fonction CreateProcess) contient membrehProcess
. C'est une poignée pour le nouveau processus, vous pouvez attendre sur l'utilisation deWaitForSingleObject
.OriginalL'auteur Begemoth
Si votre enfant doit quitter après la création du fichier, vous pouvez utiliser
::WaitForSingleObject
à l'aide de la poignée de processus renvoyé par::CreateProcess
.OriginalL'auteur Benoit