Esme Povirk (@madewokherd) commented about dlls/uiautomationcore/tests/uiautomation.c:
+ startup.cb = sizeof(startup); + SET_EXPECT_MULTI(winproc_GETOBJECT_UiaRoot, 22); + /* Only sent on Win7. */ + SET_EXPECT(winproc_GETOBJECT_CLIENT); + + CreateProcessA(NULL, cmdline, NULL, NULL, FALSE, 0, NULL, NULL, &startup, &proc); + while (MsgWaitForMultipleObjects(1, &proc.hProcess, FALSE, INFINITE, QS_ALLINPUT) != WAIT_OBJECT_0) + { + struct Provider *prov; + MSG msg = { 0 }; + + while (PeekMessageW(&msg, 0, 0, 0, PM_REMOVE)) + { + switch (msg.message) + { + case WM_UIA_TEST_RESET_EVENT_PROVIDERS: Since this is using the WM_USER range, the hwnd theoretically needs to be checked in case there are system windows making use of the same range. Probably easiest to use the WM_APP range instead.
-- https://gitlab.winehq.org/wine/wine/-/merge_requests/3066#note_35939