Как найти все окна приложения, в том числе вложенные - VB

Узнай цену своей работы

Формулировка задачи:

Тут такой вопрос по этой теме Найти внутренне окна/контролы приложения Нужные мне окна находятся аж на 3 уровне вложенности относительно родительского окна приложения, соответственно мне пришлось писать аж целых 3 функции поиск детей, а это насколько я знаю нехорошо. можно как нибудь такое в 1 функции организовать?) чёт типа:
?)))

Решение задачи: «Как найти все окна приложения, в том числе вложенные»

textual
Листинг программы
Private Declare Function GetWindow Lib "user32" (ByVal hwnd As Long, ByVal wCmd As Long) As Long
Private Declare Function SendMessage Lib "user32" Alias "SendMessageA" (ByVal hwnd As Long, ByVal wMsg As Long, ByVal wParam As Long, lParam As Any) As Long
Private Declare Function FindWindow Lib "user32" Alias "FindWindowA" (ByVal lpClassName As String, ByVal lpWindowName As String) As Long
 
Const GW_HWNDNEXT = 2:
Const GW_CHILD = 5
Const GW_OWNER = 4
Const GW_HWNDFIRST = 0
 
Dim buff$
Dim hwnds As Long
Dim kontrq&
 
Dim Sstr$
 
 
Private Sub Form_Load()
    Sstr = Space$(4)
    hwnds = FindWindow(vbNullString, "МегаФон Интернет")
    Call ScanOkon
End Sub
 
Private Sub ScanOkon()
    Dim HenTek As Long
    
    HenTek = GetWindow(hwnds, GW_CHILD)
    
    Do
        If HenTek <> 0 Then  
            buff = Space$(50)
            SendMessage HenTek, &HD, 40, ByVal buff:
            List1.AddItem Sstr & "  " & Str(HenTek) + " " + Trim(buff)
'-------------------------------------------
            kontrq = GetWindow(HenTek, GW_CHILD) 
            If kontrq <> 0 Then 
                Sstr = Sstr + Sstr
                hwnds = HenTek 
                Call ScanOkon
                Sstr = Right(Sstr, 4)
            End If
            '------------------------------------------------------------
        End If
        HenTek = GetWindow(HenTek, GW_HWNDNEXT) 
    Loop While HenTek <> 0
End Sub

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

10   голосов , оценка 4 из 5
Похожие ответы