Страница: 1 |
Страница: 1 |
Вопрос: автоматическое нажимание на кнопки
Добавлено: 16.07.09 16:41
Автор вопроса: Merlin
День добрый!
Подскажите где в коде ошибка?!
Задача, простая нажать в стандартном калькуляторе (Windows) единичку.
Калькулятор он мне находит, а вот единичку увы........
Visual Basic 2005
Private Declare Function FindWindow Lib "user32" Alias "FindWindowA" (ByVal lpClassName As String, ByVal lpWindowName As String) As Integer
Private Declare Function FindWindowEx Lib "user32" Alias "FindWindowExA" (ByVal hWnd1 As Integer, ByVal hWnd2 As Integer, ByVal lpsz1 As String, ByVal lpsz2 As String) As Integer
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button7.Click
Const BM_CLICK = &HF5
Dim orst1 As String
Dim hwnd_box As Integer
Dim comment As String
Dim IntPtr As Integer
Dim strPoiska As String
Dim hWndSB As Long
strPoiska = "1"
comment = "111"
IntPtr = FindWindow(orst1, "Калькулятор")
If IntPtr <> 0 Then
MsgBox("найден ", MsgBoxStyle.Question)
hwnd_box = FindWindowEx(IntPtr, 0&, strPoiska, vbNullString)
If hwnd_box <> 0 Then
MsgBox("кнопка найдена ", MsgBoxStyle.Question)
Else
MsgBox("кнопка не найдено", MsgBoxStyle.Critical)
Return
End If
End If
End Sub
Ответы
Всего ответов: 10
Номер ответа: 1
Автор ответа:
Ra$cal
ICQ: 8068014
Вопросов: 18
Ответов: 817
Web-сайт:
Профиль | | #1
Добавлено: 16.07.09 17:24
нужно енамить дочерние окна. FindWindow ищет тока родительские окна, не дочерние.
кейворд EnumChildWindows
Номер ответа: 2
Автор ответа:
Merlin
Вопросов: 1
Ответов: 3
Профиль | | #2
Добавлено: 16.07.09 17:35
а можно пример как это будет.
Просто в Visual Basic Net я не силен
Номер ответа: 3
Автор ответа:
Ra$cal
ICQ: 8068014
Вопросов: 18
Ответов: 817
Web-сайт:
Профиль | | #3
Добавлено: 16.07.09 17:38
а гуглить пробовал? чтото мне подсказывает в первой десятке будет вполне достаточно примеров...
Номер ответа: 4
Автор ответа:
Merlin
Вопросов: 1
Ответов: 3
Профиль | | #4
Добавлено: 16.07.09 17:39
а то.........
Только толку мало
Номер ответа: 5
Автор ответа:
Ra$cal
ICQ: 8068014
Вопросов: 18
Ответов: 817
Web-сайт:
Профиль | | #5
Добавлено: 16.07.09 17:57
http://lmgtfy.com/?q=vb+net+enumchildwindows
первая ссылка снизу. наверно у меня особенный гугл...
Номер ответа: 6
Автор ответа:
Sharp
Лидер форума
ICQ: 216865379
Вопросов: 106
Ответов: 9979
Web-сайт:
Профиль | | #6
Добавлено: 16.07.09 23:35
В калькуляторе текст на кнопках цветной, что означает, что его отрисовывают. Поэтому ты не получишь хандл кнопки по тексту.
Номер ответа: 7
Автор ответа:
Ra$cal
ICQ: 8068014
Вопросов: 18
Ответов: 817
Web-сайт:
Профиль | | #7
Добавлено: 17.07.09 00:02
spy++ говорит об обратном
Номер ответа: 8
Автор ответа:
Merlin
Вопросов: 1
Ответов: 3
Профиль | | #8
Добавлено: 17.07.09 09:48
за ссылку спасибо!
Номер ответа: 9
Автор ответа:
Sharp
Лидер форума
ICQ: 216865379
Вопросов: 106
Ответов: 9979
Web-сайт:
Профиль | | #9
Добавлено: 17.07.09 12:29
Действительно, Caption у нее все равно есть.
Номер ответа: 10
Автор ответа:
ari
Вопросов: 0
Ответов: 11
Профиль | | #10
Добавлено: 17.07.09 19:14
Найти окно и послать сообщение только через API получится.