c ++ - Oprettelse af en proces, der er knyttet til en konsol, men med omdirigeret standard IO håndtag

Indlæg af Hanne Mølgaard Plasc

Problem



Jeg har en kommandolinjeprogram, der udfører andre programmer i henhold til et bruger-script. Nogle af de henrettede børneprocesser er cmd.exe kører forskellige .cmd scripts. Nogle af .cmd scripts indstiller konsolvinduetitel ved hjælp af kommandoen title Windows shell. Og her er problemet. Hvis brugeren ønsker at logge på børneproces 'output bruger jeg rør til standardhåndtag for at få output fra børneprocessen. Men det ser ud til at få barneprocessen ikke til at blive knyttet til den konsol, som min ansøgning kører i og dermed title kommandoen stopper arbejdet, stopper med at ændre konsolvinduets titel.


Er det muligt at oprette en proces med omdirigerede standardhåndtag, men sådan er det stadig knyttet til moderproces 'konsollen, så kommandoen title virker?

Bedste reference


Tilsyneladende er alt, hvad der skal gøres for at barneprocessen skal være knyttet til forældrenes konsol, at ikke bruge dwCreationFlags |= CREATE\_NO\_WINDOW;.