Помогите решить проблему!!!!!

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

Помогите решить проблему!!!!!

Сообщение Netguard » 29.10.2003 (Ср) 23:43

Вот в чем проблема......

Я пытаюсь послать всему окну(форме) нажатие кнопки, но почемуто оно не сробатывает (предпологаю что посылается почемуто только заголовку)

had = FindWindow(vbNullString, "имя окна")
If had = 0 Then MsgBox "Couldn't find the window ...": Exit Sub

SendMessage had, WM_KEYDOWN, vbKeyW, 0&


Но если я посылаю такую комманду ......

SendMessage had, WM_CLOSE, 0&, 0&

То сробатывает, но это послание заголовку окна а нужно всей форме.

КАК ВЫЙТИ ИЗ ТАКОЙ СИТУАЦИИ?Я идиот! Убейте меня, кто-нибудь!Я идиот! Убейте меня, кто-нибудь!Я идиот! Убейте меня, кто-нибудь!Я идиот! Убейте меня, кто-нибудь!????

Aleksej
Продвинутый пользователь
Продвинутый пользователь
Аватара пользователя
 
Сообщения: 191
Зарегистрирован: 03.06.2003 (Вт) 9:58

Сообщение Aleksej » 30.10.2003 (Чт) 9:25

Код: Выделить всё
Button_hwnd=FindWindowEx(had, 0, "Button", Надпись на кнопке")
call SendMessage Button_hwnd, WM_KEYDOWN, vbKeyW, 0&

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

Сообщение GSerg » 30.10.2003 (Чт) 10:14

Оно и так посылается всей форме. Проверь, вот, к примеру:
Код: Выделить всё
Option Explicit

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_KEYDOWN As Long = &H100

Private Sub Command1_Click()
  SendMessage Me.hwnd, WM_KEYDOWN, vbKeyW, ByVal 0&
End Sub

Private Sub Form_KeyDown(KeyCode As Integer, Shift As Integer)
  MsgBox KeyCode
End Sub
Как только вы переберёте все варианты решения и не найдёте нужного, тут же обнаружится решение, простое и очевидное для всех, кроме вас

Netguard
Постоялец
Постоялец
 
Сообщения: 489
Зарегистрирован: 26.07.2002 (Пт) 13:31
Откуда: Russia

Сообщение Netguard » 01.11.2003 (Сб) 11:29

Aleksej твой код понятин но как я узнаю в чужом приложении какой hwnd у нужной мне кнопки и причем их там может быть сотня?????


GSerg Это то понятно но я чужому приложению посылаю комманду и она не сробатывает. На чужом приложении куча различных элементов. И почемуто этот код не сробатывает


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

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

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

    TopList  
cron