Здравствуйте old Dutchman, Вы писали:
OD>Здравствуйте Zipper555, Вы писали:
OD>Значитца так — находишь стандартными путями форму, на которой лежит эдит — по простому можно FindWindow.
OD>Шпаем посмотри Control ID.
OD>Потом —
OD>OD>HWND hWndForm = FindWindow(szClassNameFromSpy,szWindowNameFromSpy);
OD>if(hWndForm == NULL)
OD> return FALSE;
OD>HWND hWndEdit = GetDlgItem(hWndForm,dwCtlIDFromSPY);
OD>
OD>или
OD>OD>HWND hWndEdit = SetDlgItemText(hWndForm,dwCtlID,_T("Some text"));
OD>
OD>FindWindow не даст тебе эдита.
OD>Вместо FindWindow можно юзать EnumWindows и тд
OD>
OD>
Z>>Задача такая: есть у меня программа. Она открывает диалог другой программы. На этом диалоге находятся несколько Edit'ов (в Spy++ посмотрел), и у всех одинаковые Caption'ы (тоже в Spy++ посмотрел). Мне надо с помощью моей программы вставить текст в один из Edit'ов. Я так думаю, вставлять надо с помощью EM_REPLACESEL, но для этого мне нужен дескриптор этого Edit'a. Поэтому вопрос: как мне вставить текст в Edit или хотя бы как определить его хэндл?
Z>>P.S. Нужный мне Edit стоит самым первым в диалоге, хотя это, наверно, значения не имеет.
Спасибо, только что-то не работает:
HWND hwnd = FindWindow (NULL, "Default - FlashGet");
PostMessage (hwnd, WM_KEYDOWN, VK_F4, NULL);
hwnd = FindWindow (NULL, "Добавить новую закачку");
HWND hWndEdit = GetDlgItem(hwnd, 0x000003E9);
SendMessage (hWndEdit, EM_REPLACESEL, TRUE, (LPARAM)"Text");
PostMessage (hwnd, WM_KEYDOWN, VK_RETURN, NULL);
hWndEdit почему-то получает NULL.