net » 03.04.2004 (Сб) 23:18
Создай один батон и листбокс,это - на модуль :
Public Declare Function GetDesktopWindow Lib "user32" () As Long
Public Declare Function GetWindow Lib "user32" _
(ByVal hwnd As Long, ByVal wCmd As Long) As Long
Public Declare Function GetWindowText Lib "user32" _
Alias "GetWindowTextA" (ByVal hwnd As Long, _
ByVal lpString As String, _
ByVal cch As Long) As Long
Public Declare Function GetWindowTextLength Lib "user32" _
Alias "GetWindowTextLengthA" (ByVal hwnd As Long) As Long
Public Const GW_HWNDFIRST = 0
Public Const GW_HWNDLAST = 1
Public Const GW_HWNDNEXT = 2
Public Const GW_HWNDPREV = 3
Public Const GW_OWNER = 4
Public Const GW_CHILD = 5
Это - в код:
Private Sub Command1_Click()
Dim hwnd&
Dim dummy&
Dim strCaption$
List1.Clear
' Ðàáî÷èé ñòîë - ñàìîå ïåðâîå îêíî
hwnd& = GetDesktopWindow()
' Ïåðâîå äî÷åðíåå îêíî - îêíî ïåðâîãî óðîâíÿ
hwnd& = GetWindow(hwnd&, GW_CHILD)
' Òåïåðü ïîëó÷èì çàãîëîâêè îêîí âñåõ óðîâíåé
Do
dummy& = GetWindowTextLength(hwnd&)
If dummy <> 0 Then
strCaption = String(dummy + 1, " ")
dummy = GetWindowText(hwnd&, strCaption, dummy + 1)
List1.AddItem strCaption
End If
hwnd& = GetWindow(hwnd&, GW_HWNDNEXT)
Loop While hwnd& <> 0
End Sub
А даль ше можешь ставить любое условме ИФ,только относительно листбокса
Семь бед - топи reset!