He intentado comprender la diferencia entre estos dos indicadores de creación de procesos. El msdn documentation no es claro acerca de la distinción.Cuál es la diferencia entre los indicadores de creación de procesos DETACH_PROCESS y CREATE_NO_WINDOW para la función createProcess
- ¿El CREATE_NO_WINDOW hace que el proceso tiene una consola (Secuencias de entrada/salida estándar inicializan) sin que aparezca una ventana mientras DETACH_PROCESS tiene ninguna consola en absoluto?
- ¿Cuáles son las implicaciones para un proceso de niño de un niño?
- Cuál sería la matriz de comportamiento que describe lo que sucede en cada combinación de (padre tiene consola, padre no tiene consola) X (el ejecutable hijo requiere consola (principal), el ejecutable hijo no requiere consola (WinMain)). ?
¿Qué quiere decir con "cada combinación"? MSDN establece claramente: "* Este indicador se ignora si la aplicación no es una aplicación de consola, o si se usa con' CREATE_NEW_CONSOLE' o 'DETACHED_PROCESS'. *" Para 'CREATE_NO_WINDOW'. Entonces, en cierto sentido, son mutuamente excluyentes. – 0xC0000022L
Quise decir combinaciones para hijos y padres que sean ejecutables de consola o que no sean de consola. Si el padre es una aplicación que no es de consola y le lanzo una aplicación de consola con el indicador DETACH_PROCESS, el niño tendrá un error si necesita la consola. – Manny
que depende completamente de la implementación del tiempo de ejecución de C. Si recuerdo correctamente, el MSVCRT no causaría problemas en tal caso. Otros tiempos de ejecución podrían. – 0xC0000022L