I have been trying to understand the difference between these two process creation flags. The msdn documentation is not clear about the distinction.
- Does CREATE_NO_WINDOW causes the process to have a console (standard input/output streams initialized) without displaying a window while DETACH_PROCESS has no console at all?
- What are the implications are for a child-of-a-child process?
- What would be the behavior matrix that describes what happens at each combination of (parent has console, parent doesn't have console) X (child executable requires console (main), child executable does not require console (WinMain)).?