Jinoh Kang (@iamahuman) commented about dlls/shell32/tests/shlexec.c:
+ sei.cbSize = sizeof(sei); + sei.fMask = SEE_MASK_NOCLOSEPROCESS | SEE_MASK_NOASYNC | SEE_MASK_FLAG_NO_UI; + sei.lpVerb = L"open"; + sei.lpFile = L"::{20d04fe0-3aea-1069-a2d8-08002b30309d}"; + sei.nShow = SW_HIDE; + + result = ShellExecuteExW(&sei); + ok(result, "ShellExecuteExW failed\n"); + + /* kill the new subprocess if possible as cleanup */ + + if (sei.hProcess) + { + TerminateProcess(sei.hProcess, 0); + CloseHandle(sei.hProcess); + } Does this actually work? Our tests are non-interactive, and should never leave stray windows open when the test finishes.
-- https://gitlab.winehq.org/wine/wine/-/merge_requests/11709#note_149679