Zhiyi Zhang (@zhiyi) commented about dlls/comctl32/edit.c:
{ BOOL control;
+ if (es->bCaptureState) + return 0; Hi, the return value for WM_CHAR and WM_KEYDOWN in these cases is 1 according to manual tests.
``` while (1) { POINT pt; HWND hwnd; char class_name[80] = {0}; LRESULT lr, lr2; GetCursorPos(&pt); hwnd = WindowFromPoint(pt); GetClassNameA(hwnd, class_name, sizeof(class_name)); lr = SendMessageA(hwnd, WM_CHAR, 'A', 0); lr2 = SendMessageA(hwnd, WM_KEYDOWN, VK_SPACE, 0); printf("hwnd %p class name %s lr %#x lr2 %#x.\n", hwnd, class_name, lr, lr2); Sleep(500); } return 0; ``` -- https://gitlab.winehq.org/wine/wine/-/merge_requests/7606#note_98236