[PATCH 3/4] programs/start: force no console creation when using start /exec

Eric Pouech eric.pouech at gmail.com
Thu Mar 17 02:27:22 CDT 2022


Signed-off-by: Eric Pouech <eric.pouech at 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;
 		}




More information about the wine-devel mailing list