How to use win32 CreateProcess function to wait un

2019-06-24 09:54发布

Hello im not win32 programmer and its all new to me. i like to open process from my parent win32 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

3条回答
Deceive 欺骗
2楼-- · 2019-06-24 10:36

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.

查看更多
戒情不戒烟
3楼-- · 2019-06-24 10:49

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

查看更多
成全新的幸福
4楼-- · 2019-06-24 10:57

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.

查看更多
登录 后发表回答