Visual Basic, .NET, ASP, VBScript
 

   
   
     

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

Страница: 1 |

 

  Вопрос: Как заполнить из VB-проги Edit другого приложения? Добавлено: 19.12.07 11:16  

Автор вопроса:  Dan
Подскажите, пожалуйста, как из Vb.net-приложения программно заполнять Edit другого приложения.
Цель такая: из Vb.net-приложения нужно запускать выполняемый файл (*.exe) и в нем заполнить edit'ы и нажимать кнопки программно.
С запуском другого приложения из своей программы разобрался, а вот как заполнить эдиты другой программы пока неосилил. Подскажите, плиз.

Ответить

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

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



Администратор

ICQ: 278109632 

Вопросов: 42
Ответов: 3949
 Web-сайт: domkratt.com
 Профиль | | #1
Добавлено: 19.12.07 13:28
API:
FindWindow
GetWindow(ParentWindow,GW_CHILD)
SetWindowText


есть и другие способы.

Ответить

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



Вопросов: 1
Ответов: 5
 Профиль | | #2 Добавлено: 19.12.07 18:16
спасибо, а не подскажите как без API? Только средствами Vb.net

Ответить

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


 

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

Вопросов: 236
Ответов: 8362
 Профиль | | #3 Добавлено: 19.12.07 23:50
:))) Ааа.. ты думаю в дотнете есть готовые класс, типа

System.Window.Заполнить_текстбокс_другой_порги (имя_проги, имя_текстбокса, текст)

А они не сделали всё за тебя? :))) Видишь как MS заботится о своих клиентах. Получается что от Executioner'a больше пользы для тебя чем от говнокомпании MS :)

Ответить

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



Вопросов: 1
Ответов: 5
 Профиль | | #4 Добавлено: 21.12.07 18:28
Вроде получилось, но не до конца. Нужна помощь.

На чужой программе, есть два edit'a пустых.

Вот с помощью FindWindow нахожу handle окна.
Потом с помощью FindWindowEx нахожу один Edit и заполняю его нужным мне текстом.

А вот ко второму не получается, все время получаю handle одного эдита (класс-предок у двух edit'ов один - TTabSheet)

Подскажите, с помощью какой фунции можно перебрать все имеющие edit'ы.

Пробовал следующим образом. Находил с помощью FindWindowEx(h,0,"TEdit", vbNullString) один-записывал туда данные (MessageSend Handle,0,WM_SETTEXT,0,"text)", все записывает нормально. а потом искал снова Пустой эдит. Все равно находит уже найденный эдит. Как добратся к другому эдиту, подскажите функцию какуе-то, плиз.

Ответить

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



Вопросов: 1
Ответов: 5
 Профиль | | #5 Добавлено: 21.12.07 18:28
Вроде получилось, но не до конца. Нужна помощь.

На чужой программе, есть два edit'a пустых.

Вот с помощью FindWindow нахожу handle окна.
Потом с помощью FindWindowEx нахожу один Edit и заполняю его нужным мне текстом.

А вот ко второму не получается, все время получаю handle одного эдита (класс-предок у двух edit'ов один - TTabSheet)

Подскажите, с помощью какой фунции можно перебрать все имеющие edit'ы.

Пробовал следующим образом. Находил с помощью FindWindowEx(h,0,"TEdit", vbNullString) один-записывал туда данные (MessageSend Handle,0,WM_SETTEXT,0,"text)", все записывает нормально. а потом искал снова Пустой эдит. Все равно находит уже найденный эдит. Как добратся к другому эдиту, подскажите функцию какуе-то, плиз.

Ответить

Номер ответа: 6
Автор ответа:
 



Администратор

ICQ: 278109632 

Вопросов: 42
Ответов: 3949
 Web-сайт: domkratt.com
 Профиль | | #6
Добавлено: 21.12.07 18:34
ну дык перебирай все дочерние окна Таба с помощью GetWindow

Ответить

Номер ответа: 7
Автор ответа:
 HACKER


 

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

Вопросов: 236
Ответов: 8362
 Профиль | | #7 Добавлено: 21.12.07 21:22
EnumChindWindow?

Ответить

Номер ответа: 8
Автор ответа:
 



Администратор

ICQ: 278109632 

Вопросов: 42
Ответов: 3949
 Web-сайт: domkratt.com
 Профиль | | #8
Добавлено: 21.12.07 21:56
ну или EnumChindWindow. но, ИМХО, GetWindow(ParentWindow,GW_CHILD) проще, чем писать лишний CallBack)

Ответить

Номер ответа: 9
Автор ответа:
 Dan



Вопросов: 1
Ответов: 5
 Профиль | | #9 Добавлено: 24.12.07 11:10
Всем, спасибо! Все получилось!

Ответить

Номер ответа: 10
Автор ответа:
 Сергей



Вопросов: 9
Ответов: 18
 Профиль | | #10 Добавлено: 24.12.07 13:44
Схожая проблемма http://bbs.vbstreets.ru/viewtopic.php?t=35330

Ответить

Страница: 1 |

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



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