EnumThreadWindows

機能
指定のスレッドに関連する子ウィンドウをリストアップする
Declare Function EnumThreadWindows Lib "user32.dll" _
(ByVal dwThreadID As Long, ByVal lpfn As Long, _
lParam As Any) As Long
Declare Function EnumThreadWindows Lib "user32.dll" _
(ByVal dwThreadID As Integer, ByVal lpfn As Integer, _
lParam As Integer) As Integer

BOOL EnumThreadWindows(
DWORD dwThreadId,
WNDENUMPROC lpfn,
LPARAM lParam
);
引数
dwThreadID

スレッドID
lpfn
コールバック関数EnumThreadWndProc()関数へのポインタ
lParam
コールバック関数に渡すユーザー定義のデータ
戻り値
正常終了のとき  0以外
エラーのとき  0
備考
AddressOf演算子を使わなければならないので、Visual Basic 5以上が必要。
lParam As Anyの部分は lParam As ListBoxなどに変更して使う。
サンプル
ダウンロード(EnumThreadWindows.lzh 1.73KB)

Private Sub Command1_Click()
Dim lParam As ListBox
Dim dwThreadId As Long

'カレントスレッドのIDを取得
dwThreadId = GetCurrentThreadId

With Me.List1
    .Clear
Set lParam = Me.List1

'関数の実行
Call EnumThreadWindows(dwThreadId, AddressOf EnumThreadWndProc, lParam)
End With
End Sub