开发者

How to use win32 CreateProcess function to wait until the child done to write to file

Hello im not win32 programmer and its all new to me. i like to open process from my parent win开发者_Go百科32 application ( ok this is i know how to do) the child process then write to text file and close it self . how can i detect in the parent application that the child application done writing to the text file . and then from the parent app to read the text file . this is all in win32 c++ Thanks


The PROCESS_INFORMATION structure (which is the last argument to CreateProcess) contains member hProcess. This is a handle to the new process, which you can wait on using WaitForSingleObject.


A slight modification of Benoits answer. You can create an event in the parent process and wait for that event with WaitForSingleObject. This event can then be signaled by the child through a call to SetEvent.

http://msdn.microsoft.com/en-us/library/ms686211%28v=vs.85%29.aspx

It's important that the child process will inherit all inheritable handles, so CreateProcess has to have the fifth parameter set to true (bInheritHandles).

This way the child process doesn't have to exit for you to check that the file has been written.


If your child will exit after file creation you can use ::WaitForSingleObject using the process handle returned by ::CreateProcess.

0

上一篇:

下一篇:

精彩评论

暂无评论...
验证码 换一张
取 消

最新问答

问答排行榜