powered by simpleCommunicator - 2.0.59     © 2025 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Visual Basic [игнор отключен] [закрыт для гостей] / Sendkeys дочернему окну
7 сообщений из 7, страница 1 из 1
Sendkeys дочернему окну
    #36497370
cadrus
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Делаю AppActivate, главное окно активируется, но нужно послать клавишу именно дочернему. Т.е. если кликнуть по нужному окну, затем выполнить процедуру, то срабатывает. Если кликнуть по другому дочернему окну и потом запустить процедуру, то не работает. Putfocus не помогло.

Private Sub Command6_Click()
AppActivate ("Instant hand history")
Putfocus ListHwnd
SendKeys "{DOWN}"
End Sub
...
Рейтинг: 0 / 0
Sendkeys дочернему окну
    #36497383
Фотография Konst_One
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
попробуй TAB-ом прокрутить контролы до нужного на твоей открытой форме
...
Рейтинг: 0 / 0
Sendkeys дочернему окну
    #36497512
cadrus
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
а как я узнаю, что я на нем нахожусь?
...
Рейтинг: 0 / 0
Sendkeys дочернему окну
    #36497601
Фотография Konst_One
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
по классу окна
...
Рейтинг: 0 / 0
Sendkeys дочернему окну
    #36497690
cadrus
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
прошу прощения, наверное я не совсем правильно понял:

прокрутить контролы TAB-ом - значит послать родителю нажатие на TAB?

какой функцией вернуть окно, на котором мы будем находиться при каждом шаге прокрутки?
...
Рейтинг: 0 / 0
Sendkeys дочернему окну
    #36497770
Фотография Konst_One
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Private Declare Function GetClassName Lib "user32" Alias "GetClassNameA" ( _
ByVal hwnd As Long, _
ByVal lpClassName As String, _
ByVal nMaxCount As Long) As Long

Public Function FindClassByHwnd(ByVal hwnd As Long)
Buffer = Space(256)
ClassLength = GetClassName(hwnd, Buffer, 256)
FindClassByHwnd = Left(Buffer, ClassLength)
End Function

Dim hwnd as Long
Dim sClass as String

hwnd=GetFocus()
sClass = FindClassByHwnd(hwnd)
if sClass="MyClass" Then
Debug.Print "Нашли окошко"
end if
...
Рейтинг: 0 / 0
Sendkeys дочернему окну
    #36497912
cadrus
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Спасибо, похоже, это то, что нужно, попробую.

Здесь, наверное, не нужно искать класс окна, т.к. hwnd его известно (ListHwnd в первом посте), и по GetFocus уже можно определить окно.
...
Рейтинг: 0 / 0
7 сообщений из 7, страница 1 из 1
Форумы / Visual Basic [игнор отключен] [закрыт для гостей] / Sendkeys дочернему окну
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]