Отправка сообщения окну

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

Отправка сообщения окну

Сообщение beat_swamp » 20.12.2005 (Вт) 12:42

итак есть окно (процесс) с именем "Auto"1
код:
Код: Выделить всё

Dim WinHwnd As Long
Dim strNumber As String 'тут хранится какой то номер
Dim RetVal As Long

Private Sub Command1_Click()
     WinHwnd = FindWindow("ThunderRT6FormDC", "Auto")
     strNumber = Text2.Text

     '??? ошибка где то тут (см строчку ниже)
     RetVal = SendMessage(WinHwnd, WM_COPYDATA, 0,strNumber)
End Sub

вобщем вопрос1 как прально отослать эту строку другому процессу? может на ошибку укажете? мож правильный код приведете?

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

Сообщение GSerg » 20.12.2005 (Вт) 14:39

итак есть окно (процесс)

То есть это одно и то же?

как прально отослать эту строку другому процессу?

Процессу пофиг, что ему шлют. Куда именно?

мож правильный код приведете?

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

keks-n
Доктор VB наук
Доктор VB наук
Аватара пользователя
 
Сообщения: 2509
Зарегистрирован: 19.09.2005 (Пн) 17:17
Откуда: г. Москва

Сообщение keks-n » 20.12.2005 (Вт) 15:29

По просьбам флудящихся:
Код: Выделить всё

Private Declare Function SendMessage Lib "user32" Alias "SendMessageA" (ByVal hwnd As Long, ByVal wMsg As Long, ByVal wParam As Integer, ByVal lParam As Long) As Long
Private Const WM_CHAR = &H102, KeyDown = 1048577
Private Sub Form_Click()
SendMessage Text1.hwnd, WM_CHAR, Asc("a"), KeyDown
End Sub

Если не понятно, то поясню, что на форме лежит Text1, который при нажатии на форму думает, что в нём печатают.

Что либо более полезное, можно было получить, если бы не раздражал GSerg'а
Изображение

beat_swamp
Продвинутый пользователь
Продвинутый пользователь
 
Сообщения: 107
Зарегистрирован: 05.10.2005 (Ср) 16:16

Сообщение beat_swamp » 22.12.2005 (Чт) 13:27

+)


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

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

Сейчас этот форум просматривают: Google-бот и гости: 104

    TopList