Страница: 1 |
Вопрос: Заполнить текстовое поле в чужем приложении | Добавлено: 08.07.04 20:54 |
Автор вопроса: ![]() |
Здравствуйте!
Есть приложение с тесктовыми полями. Могу ли я заполнить эти поля из своей программы? Спасибо! |
Ответы | Всего ответов: 7 |
Номер ответа: 1 Автор ответа: ![]() ![]() ![]() ![]() ![]() ![]() Разработчик Offline Client ICQ: 233286456 Вопросов: 34 Ответов: 5445 |
Web-сайт: Профиль | Цитата | #1 | Добавлено: 08.07.04 21:26 |
Самый простой способ, это "отсылать" клавиши SendKeys...
Только это при условии что окно активно... Между полями переходить посылая клавишу Tab... Можно заполнять и программно, с пом. EM_SETTEXTEX, но это сложнее... |
Номер ответа: 2 Автор ответа: ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ICQ: 271202919 Вопросов: 56 Ответов: 837 |
Профиль | Цитата | #2 | Добавлено: 10.07.04 04:54 |
Sne везде успеет ну прям не успеваешь на некоторыевпросы отвечать. Уже знаю кто будет первым ответившим.![]() |
Номер ответа: 3 Автор ответа: ![]() ![]() ![]() ![]() ![]() Вопросов: 224 Ответов: 3777 |
Web-сайт: Профиль | Цитата | #3 | Добавлено: 10.07.04 05:55 |
Я думаю, что ф-я SetWindowCaption или SetWindowText могут здорово помочь
Но нужен Хэндл. Его можно получить через WindowFromPoint или типа того... |
Номер ответа: 4 Автор ответа: ![]() ![]() ![]() Вопросов: 16 Ответов: 18 |
Профиль | Цитата | #4 | Добавлено: 10.07.04 11:33 |
Здравствуйте!
Друзья, а какой функцией найти хендл контрола в окне, у текстового поля он должОн быть вроде? Спасибо! |
Номер ответа: 5 Автор ответа: ![]() ![]() ![]() ![]() ![]() ![]() Разработчик Offline Client ICQ: 233286456 Вопросов: 34 Ответов: 5445 |
Web-сайт: Профиль | Цитата | #5 | Добавлено: 10.07.04 11:51 |
2Vik, просто день был свободный ![]() 2Morpheus, а зачем вызывать эти АПИ, если они все-равно, попросту будут отсылать сообщение WM_SETTEXT... Хотя если она есть, значит это кому-нибудь нужно ![]() 2kmk, порядок может быть такой (а может быть и другой): 1. Находишь хэндл окна, где находятся необходимые текстовые поля... (способов много, и это зависит от того, что именно известно тебе о "подопытном" приложении) 2. Использую АПИ ф-ию EnumChildWindows, перебераеь все эллементы на окошке, при этом сравнивая класс окна (наверное, GetWindowClassName) с классом по имени "Edit". 3. Если совпадает, то ты получил очередное текстовое поле... |
Номер ответа: 6 Автор ответа: ![]() ![]() ![]() ![]() ICQ: 373-509-101 Вопросов: 56 Ответов: 330 |
Профиль | Цитата | #6 | Добавлено: 11.07.04 06:49 |
ParentHWnd = FindWindow(vbNullString, "Caption нужного окна"![]() ChildHWnd = FindWindowEx(ParentHWnd, 0, "ThunderRT6TextBox", vbNullString)'находит манипулятор дочернего окна 'ThunderRT6TextBox - название класса для TextBox'ов FuncResult = SetWindowText(ChildHWnd, "Новй текст" ![]() 'Правда в TextBox вставить текст у меня не получилось, Caption формы или кнопки, да а TextBox почему то нет. |
Номер ответа: 7 Автор ответа: ![]() ![]() ![]() Вопросов: 16 Ответов: 18 |
Профиль | Цитата | #7 | Добавлено: 11.07.04 17:00 |
Спасибо, вроде получилось. |
Страница: 1 |
|