что имеем? модуль:
- Код: Выделить всё
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, вместо текста кнопок пустота.есть отдельно те самые кнопки, из этого видно наименование и хэндл.как это применить?
зарание благодарю.