Посмотрите на вызов API SendMessage()
. Это то, что сама Windows использует для уведомления кнопки, по которой она была нажата.
Public Declare Function SendMessage Lib "user32" Alias "SendMessageA" (ByVal hwnd As Long, ByVal wMsg As Long, ByVal wParam As Long, lParam As Any) As Long
например.
retval = SendMessage(hwndButton, BM_CLICK, ByVal CLng(0), ByVal CLng(0))
Хитрый бит получает дескриптор окна кнопки (hwndButton
). API FindWindow()
и EnumChildWindows()
сделают это. FindWindow () вернет дескриптор окон верхнего уровня (например, Блокнот). Затем EnumChildWindows можно использовать для итерации элементов управления, пока не будет найдена правильная кнопка.