| 
    
     |  | ▼ちび坊主 さん: >    EnumChildWindowsとか、FindWindowsEXで再帰かけるとか。
 >
 >Private Declare Function GetWindowText Lib "user32" _
 >    Alias "GetWindowTextA" _
 >    (ByVal hwnd As Long, ByVal lpString As String, _
 >    ByVal nMaxCount As Long) As Long
 >Private Declare Function GetClassName Lib "user32" _
 >    Alias "GetClassNameA" _
 >    (ByVal hwnd As Long, ByVal lpClassName As String, _
 >    ByVal nMaxCount As Long) As Long
 >Private Declare Function FindWindowEx Lib "user32" _
 >    Alias "FindWindowExA" _
 >    (ByVal hwndParent As Long, ByVal hwndChildAfter As Long, _
 >    ByVal lpszClass As String, ByVal lpszWindow As String) As Long
 >Private Declare Function IsWindowVisible Lib "user32" _
 >    (ByVal hwnd As Long) As Long
 >
 >Private Sub GetChilds(ByVal hwndParent As Long, _
 >       Optional r As Long, Optional ByVal c As Long = 1)
 >
 >  Dim h As Long
 >  Dim sClass As String
 >  Dim sText As String
 >  Do
 >    h = FindWindowEx(hwndParent, h, vbNullString, vbNullString)
 >    If h = 0 Then Exit Do
 >    If IsWindowVisible(h) Then
 >     r = r + 1
 >
 >     sClass = String$(80, 0)
 >     sText = String$(80, 0)
 >     GetClassName h, sClass, Len(sClass)
 >     GetWindowText h, sText, Len(sText) - 1
 >     sClass = Left$(sClass, InStr(sClass, vbNullChar) - 1)
 >     sText = Left$(sText, InStr(sText, vbNullChar) - 1)
 >
 >     With ActiveSheet.Cells(r, c)
 >       .Value = Right$(String$(7, "0") & Hex$(h), 8) & _
 >             ", " & sClass & ", " & sText
 >     End With
 >     sClass = vbNullString: sText = vbNullString
 >
 >     GetChilds h, r, c + 1
 >    End If
 >  Loop
 >End Sub
 >
 >Sub Test()
 >  ActiveSheet.Cells.Clear
 >  GetChilds FindWindowEx(0, 0, "FNWND380", "Main_Window")
 >End Sub
 早速のご指導ありがとうございました。目的は達成できました。
 
 
 |  |