СообЧа > База Знаний > Программирование > Visual Basic

Вопрос

Подскажите, как моя прога может записать текст в чужую программу, зная ее заголовок(может быть несколько текст боксов, поэтому нужно конкретно писать в нужный). Как можно в той чужой проге нажать ее кнопку, зная на ней надпись (ТАВ'ом переключать фокус не очень удобно). Кто знает как или где, помогите!

Ответ

Вот у меня есть простенькая программулька, которая отключает от интернета, находя нужную кнопку в окне и нажимая на нее. (функции сам объявишь, я думаю)

Const HKEY_CURRENT_USER = &H80000001
Const BM_CLICK = &HF5

Sub Main()
Dim hKey As Long, cnt As Long, sSave As String
Dim hParent As Long, hChild As Long

RegOpenKey HKEY_CURRENT_USER, "RemoteAccess\Addresses", hKey

Do
   sSave = Space(255)
   If RegEnumValue(hKey, cnt, sSave, 255, 0, 0, 0, 0) <> 0 Then Exit Do
   sSave = Trim(sSave)

hParent = FindWindow(vbNullString, "Подключено к " & sSave)
If hParent > 0 Then
    hChild = FindWindowEx(hParent, hChild, vbNullString, "&Отключиться")
    If hChild > 0 Then SendMessage hChild, BM_CLICK, 0, 0: Exit Do
End If ' If hParent > 0

cnt = cnt + 1
Loop

End Sub

В принципе, то же и с текстбоксом — ищешь его (имя класса "edit") и пишешь в него.

Дмитрий Данелия



Copyright © 2000-2004 Сообщество Чайников
Контактная информация