- Sleep(100);\r
- EnumWindows(ew_cb, 0);\r
- EnumChildWindows(hwnd_notepad, ecw_cb, 0);\r
+ Sleep(1000);\r
+ EnumWindows([](HWND hwnd, LPARAM lp)->BOOL{\r
+ if (check_class(hwnd, "Notepad")) {\r
+ *(HWND*)lp = hwnd;\r
+ return false;\r
+ }\r
+ return true;\r
+ }, (LPARAM)&hwnd_notepad);\r
+ EnumChildWindows(hwnd_notepad, [](HWND hwnd, LPARAM lp)->BOOL{\r
+ printf("looking at %p\n", hwnd);\r
+ if (check_class(hwnd, "NotepadTextBox")) {\r
+ EnumChildWindows(hwnd, [](HWND hwnd, LPARAM lp)->BOOL{\r
+ printf(" looking at %p\n", hwnd);\r
+ const size_t size = (WIDTH+4)*(HEIGHT+2);\r
+ char b[size];\r
+ DWORD_PTR dwResult;\r
+ b[0] = 0;\r
+ SendMessageTimeoutA(hwnd, WM_GETTEXT, size, (LPARAM)b,\r
+ SMTO_ABORTIFHUNG, 100, &dwResult);\r
+ if (b[0] == '+') {\r
+ // TODO: check lvl\r
+ printf("%.*s.\n", size, b);\r
+ *(HWND*)lp = hwnd;\r
+ return false;\r
+ }\r
+ return true;\r
+ }, lp);\r
+ if (lp) return false;\r
+ }\r
+ return true;\r
+ }, (LPARAM)&hwnd_edit);\r