Visual Basic, .NET, ASP, VBScript
 

   
   
     

Форум - Общий форум

Страница: 1 |

 

  Вопрос: Заполнить текстовое поле в чужем приложении Добавлено: 08.07.04 20:54  

Автор вопроса:  kmk
Здравствуйте!
Есть приложение с тесктовыми полями. Могу ли я заполнить эти поля из своей программы?

Спасибо!

Ответить

  Ответы Всего ответов: 7  

Номер ответа: 1
Автор ответа:
 sne



Разработчик Offline Client

ICQ: 233286456 

Вопросов: 34
Ответов: 5445
 Web-сайт: hw.t-k.ru
 Профиль | | #1
Добавлено: 08.07.04 21:26
Самый простой способ, это "отсылать" клавиши SendKeys...
Только это при условии что окно активно...
Между полями переходить посылая клавишу Tab...

Можно заполнять и программно, с пом. EM_SETTEXTEX, но это сложнее...

Ответить

Номер ответа: 2
Автор ответа:
 ViktorZ



ICQ: 271202919 

Вопросов: 56
Ответов: 837
 Профиль | | #2 Добавлено: 10.07.04 04:54
Sne везде успеет ну прям не успеваешь на некоторыевпросы отвечать. Уже знаю кто будет первым ответившим.:-)

Ответить

Номер ответа: 3
Автор ответа:
 Morpheus



Вопросов: 224
Ответов: 3777
 Web-сайт: xury.zx6.ru
 Профиль | | #3
Добавлено: 10.07.04 05:55
Я думаю, что ф-я SetWindowCaption или SetWindowText могут здорово помочь
Но нужен Хэндл. Его можно получить через WindowFromPoint или типа того...

Ответить

Номер ответа: 4
Автор ответа:
 kmk



Вопросов: 16
Ответов: 18
 Профиль | | #4 Добавлено: 10.07.04 11:33
Здравствуйте!

Друзья, а какой функцией найти хендл контрола в окне, у текстового поля он должОн быть вроде?

Спасибо!

Ответить

Номер ответа: 5
Автор ответа:
 sne



Разработчик Offline Client

ICQ: 233286456 

Вопросов: 34
Ответов: 5445
 Web-сайт: hw.t-k.ru
 Профиль | | #5
Добавлено: 10.07.04 11:51
2Vik, просто день был свободный ;)

2Morpheus, а зачем вызывать эти АПИ, если они все-равно, попросту будут отсылать сообщение WM_SETTEXT...
Хотя если она есть, значит это кому-нибудь нужно ;)

2kmk, порядок может быть такой (а может быть и другой):

1. Находишь хэндл окна, где находятся необходимые текстовые поля... (способов много, и это зависит от того, что именно известно тебе о "подопытном" приложении)
2. Использую АПИ ф-ию EnumChildWindows, перебераеь все эллементы на окошке, при этом сравнивая класс окна (наверное, GetWindowClassName) с классом по имени "Edit".
3. Если совпадает, то ты получил очередное текстовое поле...

Ответить

Номер ответа: 6
Автор ответа:
 Mihalыch



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
Автор ответа:
 kmk



Вопросов: 16
Ответов: 18
 Профиль | | #7 Добавлено: 11.07.04 17:00
Спасибо, вроде получилось.

Ответить

Страница: 1 |

Поиск по форуму



© Copyright 2002-2011 VBNet.RU | Пишите нам