;Autor: Hroudtwolf Structure tFolderWindow hWnd .i [ $FF ] sTitle .s [ $FF ] nEntries .i nCurrent .i EndStructure Procedure.i _ExamineFolderProc ( hWnd.i , *FolderWindows.tFolderWindow ) Protected sClassName .s = Space ( $FF ) Protected sWindowName.s GetClassName_( hWnd , @ sClassName , $FF ) If sClassName = "CabinetWClass" sWindowName = Space ( $FF ) GetWindowText_( hWnd , @ sWindowName , $FF ) *FolderWindows\hWnd [ *FolderWindows\nEntries ] = hWnd *FolderWindows\sTitle [ *FolderWindows\nEntries ] = sWindowName *FolderWindows\nEntries + 1 EndIf ProcedureReturn #True EndProcedure Procedure ExamineFolderWindows () Shared FolderWindows.tFolderWindow FolderWindows\nEntries = 0 FolderWindows\nCurrent = 0 ProcedureReturn EnumWindows_( @ _ExamineFolderProc () , FolderWindows ) EndProcedure Procedure NextFolderWindow () Shared FolderWindows.tFolderWindow Static Current .tFolderWindow If FolderWindows\nCurrent => FolderWindows\nEntries ProcedureReturn #Null EndIf Current\hWnd = FolderWindows\hWnd [ FolderWindows\nCurrent ] Current\sTitle = FolderWindows\sTitle [ FolderWindows\nCurrent ] FolderWindows\nCurrent + 1 ProcedureReturn Current EndProcedure Define.tFolderWindow *FolderWindow If OpenWindow(0,0,0,500,250,"Window",#PB_Window_SystemMenu|#PB_Window_ScreenCentered) ListIconGadget(1,10,10,480,230,"Titel",200,0) AddGadgetColumn(1,1,"Handle",200) MessageRequester("","Bitte jetzt ein paar Verzeichnisse mit dem Windows Explorer öffnen.",0) If ExamineFolderWindows() Repeat *FolderWindow = NextFolderWindow() If *FolderWindow AddGadgetItem(1,-1,*FolderWindow\sTitle+Chr(10)+Str(*FolderWindow\hWnd),0,0) EndIf Until Not *FolderWindow EndIf Repeat : Until WaitWindowEvent() = #PB_Event_CloseWindow EndIf