# HG changeset patch # User Adrian Buehlmann # Date 2012-06-25 17:11:29 # Node ID e780fb37168be5382148f5bc6fd420ae9771e947 # Parent 3dd6da761fff59be7dae61588919e80091d29a39 win32: specify _CREATE_NO_WINDOW on spawndetached() Before this change, a console window briefly popped up on "hg serve -d" and disappeared again, stealing the focus window (which was very annyoing when running tests). Specifying _CREATE_NO_WINDOW instead of _DETACHED_PROCESS fixes this (as tested on Windows 7 x64). diff --git a/mercurial/win32.py b/mercurial/win32.py --- a/mercurial/win32.py +++ b/mercurial/win32.py @@ -97,7 +97,7 @@ class _PROCESS_INFORMATION(ctypes.Struct ('dwProcessId', _DWORD), ('dwThreadId', _DWORD)] -_DETACHED_PROCESS = 0x00000008 +_CREATE_NO_WINDOW = 0x08000000 _STARTF_USESHOWWINDOW = 0x00000001 _SW_HIDE = 0 @@ -337,7 +337,7 @@ def spawndetached(args): args = comspec + " /c " + args res = _kernel32.CreateProcessA( - None, args, None, None, False, _DETACHED_PROCESS, + None, args, None, None, False, _CREATE_NO_WINDOW, env, os.getcwd(), ctypes.byref(si), ctypes.byref(pi)) if not res: raise ctypes.WinError