нажать кнопку в чужой программе

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

нажать кнопку в чужой программе

Сообщение Shasha » 21.03.2011 (Пн) 12:18

всем привет, избитая тема, но...хотелось бы разобраться в этом деле.прошу помочь.
что имеем? модуль:
Код: Выделить всё
Public Declare Function FindWindow Lib "user32" Alias "FindWindowA" _
        (ByVal lpClassName As String, _
        ByVal lpWindowName As String) As Long
Public Declare Function FindWindowEx Lib "user32.dll" Alias "FindWindowExA" _
        (ByVal hwndParent As Long, _
        ByVal hwndChildAfter As Long, _
        ByVal lpszClass As Any, _
        ByVal lpszWindow As Any) As Long
Public Declare Function SendMessage Lib "user32" Alias "SendMessageA" _
        (ByVal hwnd As Long, _
        ByVal wMsg As Long, _
        ByVal wParam As Long, _
        ByVal lParam As Long) As Long
Public Const WM_KEYDOWN = &H100
Public Const WM_KEYUP = &H101


код программы:
Код: Выделить всё
  Dim WindowHWND As Long
  Dim EditHWND As Long
 
  WindowHWND = FindWindow(vbNullString, "Калькулятор")
  EditHWND = FindWindowEx(WindowHWND, 0, "Button", "3")
  SendMessage EditHWND, WM_KEYDOWN, vbKeySpace, vbKeySpace
  SendMessage EditHWND, WM_KEYUP, vbKeySpace, vbKeySpace

всё работает, пример хорош.переходим к реальной задаче.
мне нужно нажать кнопку в программе.вместо калькулятор забил заголовок окна полученный с хэлпа spy++, вместо button что писать? спай++ показывает класс TToolBar, вместо текста кнопок пустота.есть отдельно те самые кнопки, из этого видно наименование и хэндл.как это применить?
зарание благодарю.
С Уважением,
Shasha

Random
Новичок
Новичок
Аватара пользователя
 
Сообщения: 45
Зарегистрирован: 21.02.2006 (Вт) 6:08
Откуда: Пермь

Re: нажать кнопку в чужой программе

Сообщение Random » 29.03.2011 (Вт) 19:59

The FindWindow function retrieves the handle to the top-level window whose class name and window name match the specified strings. This function does not search child windows.
The FindWindowEx function retrieves the handle to a window whose class name and window name match the specified strings. The function searches child windows , beginning with the one following the given child window.
:)


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

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

Сейчас этот форум просматривают: AhrefsBot и гости: 97

    TopList