Signed-off-by: Eric Pouech eric.pouech@gmail.com
--- programs/start/start.c | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-)
diff --git a/programs/start/start.c b/programs/start/start.c index 998c439423e..7252d54e046 100644 --- a/programs/start/start.c +++ b/programs/start/start.c @@ -516,8 +516,11 @@ int __cdecl wmain (int argc, WCHAR *argv[]) break; } else if (is_option(argv[i], L"/exec")) { - creation_flags = 0; - sei.fMask = SEE_MASK_NOCLOSEPROCESS | SEE_MASK_NO_CONSOLE | SEE_MASK_FLAG_NO_UI; + /* If start.exe isn't attached to a console, force that no console would be created. + * This is needed when target process belongs to CUI subsystem. + */ + creation_flags = GetConsoleCP() == 0 ? DETACHED_PROCESS : 0; + sei.fMask = SEE_MASK_NOCLOSEPROCESS | SEE_MASK_NO_CONSOLE | SEE_MASK_FLAG_NO_UI; i++; break; }