你好 im不是win32程序員,它對我來說都是新的。 我喜歡從我父母的win32應用程序打開進程(好吧,這是我知道該怎麼辦) 子進程然後寫入文本文件並關閉它自己。我如何檢測父應用程序中的子應用程序完成寫入文本文件。然後從父應用程序讀取文本文件。這全是在win32 C++ 謝謝如何使用win32 CreateProcess函數等到孩子完成寫入文件
回答
Benoits答案稍作修改。您可以在父進程中創建一個事件,並通過WaitForSingleObject等待該事件。這個事件可以通過致電SetEvent來通知孩子。
http://msdn.microsoft.com/en-us/library/ms686211%28v=vs.85%29.aspx
子進程將繼承所有可繼承的句柄,因此CreateProcess的必須有設置爲true(bInheritHandles)的第五個參數是很重要的。
通過這種方式,子進程不必退出,以便檢查文件是否已寫入。
這是不必要的複雜。等待,直到過程發出信號。 – 2011-05-07 10:29:03
在問題中沒有說孩子的過程應該退出,因此你不能假設它。 – ralphtheninja 2011-05-07 11:04:04
如果你的孩子在創建文件後會退出,你可以使用::WaitForSingleObject
使用::CreateProcess
返回的進程句柄。
PROCESS_INFORMATION
結構(這是CreateProcess的最後一個參數)包含成員hProcess
。這是新流程的句柄,您可以使用WaitForSingleObject
等待。
我錯誤地downvoted了,對不起。 – Max 2017-03-08 17:15:41
- 1. 等待孩子完成
- 2. 如何等待,直到標準輸出完成寫入文件
- 3. 等待xml文件寫入完成python
- 4. Node.js - 等到文件完全寫入
- 5. 如何使我的函數等到異步函數完成?
- 6. 如何等待一個在win32上使用os.execv()重新生成的孩子?
- 7. 如何等待流寫入完成
- 8. 如何等待文件流完成寫入之前關閉它?
- 9. 等到函數完成遞歸函數
- 10. 等待直到外部過程完成寫入文件
- 11. 使用fopen()函數寫入文件到子目錄
- 12. 使用承諾等待函數完成
- 13. 如何等待孩子進程完成時限?
- 14. 如何不等待函數完成python
- 15. 如何使用CreateProcess識別崩潰的孩子
- 16. PHP等到上一個函數完成
- 17. 的jQuery等到函數完成
- 18. 等待文件完全寫入
- 19. 如何知道MediaRecorder何時完成將數據寫入文件
- 20. 延遲文件讀取/寫入,直到完成使用?
- 21. 如何等待用戶完成記下文本輸入以調用函數?
- 22. 等待xml文件寫入完成在PHP
- 23. Java寫入文本文件未完成
- 24. Windows 7 CreateProcess,子進程無法寫入文件?
- 25. 將動態數據寫入win32文件
- 26. 讓PHP等到函數完成?
- 27. 等待IAsyncResult函數,直到完成
- 28. 如何等待函數完成時使用內部循環
- 29. 等到「寫完」
- 30. Java7 StandardWatchEventKind.ENTRY_CREATE文件寫入完成
您是否可以等待子進程終止,還是需要在孩子仍在運行時開始寫入文件? – 2011-05-06 07:08:18
子進程(Qt應用程序)寫文件 – user63898 2011-05-06 12:21:09