I use this function to get all window titles or handles from one PID. #include <Array.au3> Opt("WinTitleMatchMode", 2) Local $PID = ProcessExists("iexplore.exe") If $PID = 0 Then $PID = Run(@ProgramFilesDir & "\Internet Explorer\iexplore.exe") EndIf WinWait("Internet Explorer") Local $aTitle = _PID2WinTitle($PID) _ArrayDisplay($aTitle) Func _PID2WinTitle($PID) ;funkey 1st Nov 2008 Local $aWinTitle[1] = [0], $List = WinList() For $i = 1 To $List[0][0] If $PID = WinGetProcess(