Я хочу получить дескриптор дочернего окна, но не могу.
Я хочу автоматически вставить текст в элемент управления «Редактировать».
Вот что у меня есть:
//global var
int id=0;
BOOL CALLBACK EnumWindowsProc(HWND hwnd, LPARAM lParam) {
id = GetDlgCtrlID(hwnd);
HWND hwnd_Child;
hwnd_Child = GetDlgItem(hwnd, id);
SendMessage(hwnd_Child, WM_SETTEXT, NULL, (LPARAM)"mYtexttttt");
/* other code */
// id is always 0, why ?
// return FALSE; // stop enumerating
return TRUE; // continue enumeration
}
void MyFunction ()
{
HWND hwnd_Parent;
hwnd_Parent = FindWindow(NULL,"MyTitle"); if(! hwnd)return;
EnumChildWindows(hWnd ,(WNDENUMPROC)EnumWindowsProc, NULL);
}
В WinSpy ++ идентификаторы элементов управления всех компонентов - 000000000. Возможно ли, что идентификатор элемента управления не определен?
Как найти дочерний дескриптор какого-то определенного компонента (поле редактирования), если у меня есть дескриптор главного окна, а идентификатор элемента управления не определен?
Кроме того, главным окном является игровое приложение, которое работает с DirectX, я думаю.
Я хочу автоматически вставить текст в элемент управления «Правка».