Работа с чужими приложениями...

Программирование на Visual Basic, главный форум. Обсуждение тем программирования на VB 1—6.
Даже если вы плохо разбираетесь в VB и программировании вообще — тут вам помогут. В разумных пределах, конечно.
Правила форума
Темы, в которых будет сначала написано «что нужно сделать», а затем просьба «помогите», будут закрыты.
Читайте требования к создаваемым темам.
Dex
Постоялец
Постоялец
 
Сообщения: 346
Зарегистрирован: 09.08.2004 (Пн) 16:11

Работа с чужими приложениями...

Сообщение Dex » 22.02.2005 (Вт) 18:02

Как программно передовать активному окошку нажатие клавы Enter и
активному текстовому полю указанный текст? :? Заранее спасибо :)

Amed
Алфизик
Алфизик
 
Сообщения: 5346
Зарегистрирован: 09.03.2003 (Вс) 9:26

Сообщение Amed » 22.02.2005 (Вт) 18:04

Поиском по форуму... SendKeys, тут була недавно тема

Dex
Постоялец
Постоялец
 
Сообщения: 346
Зарегистрирован: 09.08.2004 (Пн) 16:11

Сообщение Dex » 22.02.2005 (Вт) 22:39

А как насчёт передовать активному текстовому полю текст? :)

Amed
Алфизик
Алфизик
 
Сообщения: 5346
Зарегистрирован: 09.03.2003 (Вс) 9:26

Сообщение Amed » 22.02.2005 (Вт) 22:45

Через GetActiveWindow получаем хендл активного окна (TextBox'а). Потом SetWindowText...

tyomitch
Пользователь #1352
Пользователь #1352
Аватара пользователя
 
Сообщения: 12822
Зарегистрирован: 20.10.2002 (Вс) 17:02
Откуда: חיפה

Сообщение tyomitch » 22.02.2005 (Вт) 22:47

MSDN писал(а):However, SetWindowText cannot change the text of a control in another application.


И там же написано, что надо юзать вместо него.
Изображение

Amed
Алфизик
Алфизик
 
Сообщения: 5346
Зарегистрирован: 09.03.2003 (Вс) 9:26

Сообщение Amed » 22.02.2005 (Вт) 23:00

Ух ты... Api-guide про это ничего не написал :?
Интересно-интересно, запомним...

Доверил и проверил. Действительно, не меняет текст в другом окне
Меняет текст WM_SETTEXT:

Код: Выделить всё
Private Declare Function SendMessage Lib "user32" Alias "SendMessageA" (ByVal hwnd As Long, ByVal wMsg As Long, ByVal wParam As Long, lParam As Any) As Long
Private Const WM_SETTEXT = &HC

Private Sub Command1_Click()
SendMessage TargetWnd, WM_SETTEXT, 0, ByVal "New textbox.text value"
End Sub

Dex
Постоялец
Постоялец
 
Сообщения: 346
Зарегистрирован: 09.08.2004 (Пн) 16:11

Сообщение Dex » 23.02.2005 (Ср) 8:49

Amed что то не передаёт... :(

Amed
Алфизик
Алфизик
 
Сообщения: 5346
Зарегистрирован: 09.03.2003 (Вс) 9:26

Сообщение Amed » 23.02.2005 (Ср) 10:39

А TargetWnd определили?
Код: Выделить всё
Private Sub Command1_Click()
SendMessage GetActiveWindow, WM_SETTEXT, 0, ByVal "New textbox.text value"
End Sub

И не забываем всё задекларить...

Dex
Постоялец
Постоялец
 
Сообщения: 346
Зарегистрирован: 09.08.2004 (Пн) 16:11

Сообщение Dex » 23.02.2005 (Ср) 12:25

Ну не передаётся текст, не передаётся... :( блин :shock:

Ship
Новичок
Новичок
 
Сообщения: 35
Зарегистрирован: 15.01.2005 (Сб) 0:53

Сообщение Ship » 23.02.2005 (Ср) 14:04

Передается, только почему то не в ТЕХТ, а заголовок!

GSerg
Шаман
Шаман
 
Сообщения: 14286
Зарегистрирован: 14.12.2002 (Сб) 5:25
Откуда: Магадан

Сообщение GSerg » 23.02.2005 (Ср) 14:08

Вызываем GetGUIThreadInfo. Получаем hWnd и активного окна, и текстбокса с фокусом...
Как только вы переберёте все варианты решения и не найдёте нужного, тут же обнаружится решение, простое и очевидное для всех, кроме вас

Dex
Постоялец
Постоялец
 
Сообщения: 346
Зарегистрирован: 09.08.2004 (Пн) 16:11

Сообщение Dex » 23.02.2005 (Ср) 18:08

Ни фига у меня не получается. Пожалуйста предоставьте готовый код :)

Amed
Алфизик
Алфизик
 
Сообщения: 5346
Зарегистрирован: 09.03.2003 (Вс) 9:26

Сообщение Amed » 23.02.2005 (Ср) 20:01

Скачай API-Guide, там есть пример...

Cryonyx
Бывалый
Бывалый
Аватара пользователя
 
Сообщения: 292
Зарегистрирован: 12.11.2004 (Пт) 15:40
Откуда: Net_SubStream

Сообщение Cryonyx » 25.02.2005 (Пт) 17:38

Можешь выложить ссылку на него, а то этих API-Guide'ов по сети развелось, как... :D
Если тебе не по сердцу мой путь,
Выбери сам или выбери с кем,
А мне по барабану вся эта муть -
Я не червонец, чтобы нравиться всем!
© К.Кинчев
--
Мой блог: щёлкай сюда

Amed
Алфизик
Алфизик
 
Сообщения: 5346
Зарегистрирован: 09.03.2003 (Вс) 9:26

Сообщение Amed » 25.02.2005 (Пт) 20:32

М-гм... www.allapi.net
Далее по ссылкам ищи


Вернуться в Visual Basic 1–6

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 39

    TopList