EUREKA!!! I got it working.
#include <Array.au3>
Global $maxlines, $Wlist, $hwnd
$Wlist = winlist()
$Plist = ProcessList("putty.exe")
;_ArrayDisplay($Wlist,"Wlist")
;_ArrayDisplay($Plist,"Processlist")
$maxlinesW = $Wlist[0][0]
$maxlinesP = $Plist[0][0]
ConsoleWrite("WinlistAantal "&$maxlinesW&@CRLF)
ConsoleWrite("PlistAantal "&$maxlinesP&@CRLF)
Global $puttyarray[1]
_ArrayDisplay($puttyarray)
For $j = 1 to $maxlinesP
$hwnd = _GetHwndFromPID($Plist[$j][1])
ConsoleWrite("Gevonden PID's> "&$Plist[$j][0]&" "&$Plist[$j][1]&" met hwnd "&$HWND&@CRLF&@CRLF)
For $i = 1 to $maxlinesW
if $Wlist[$i][1] = $hwnd then
Consolewrite($Wlist[$i][0]&" "&$Wlist[$i][1]&@CRLF)
$arrayline = $Wlist[$i][0]&" "&$Wlist[$i][1]
_arrayadd($puttyarray, $arrayline)
EndIf
Next
Next
_ArrayDelete($puttyarray, 0)
_ArrayDisplay($puttyarray)
Func _GetHwndFromPID($PID); Tnx for this routine bobsyuruncle
$hWnd = 0
$stPID = DllStructCreate("int")
Do
$winlist2 = WinList()
For $i = 1 To $winlist2[0][0]
If $winlist2[$i][0] <> "" Then
DllCall("user32.dll", "int", "GetWindowThreadProcessId", "hwnd", $winlist2[$i][1], "ptr", DllStructGetPtr($stPID))
If DllStructGetData($stPID, 1) = $PID Then
$hWnd = $winlist2[$i][1]
ExitLoop
EndIf
EndIf
Next
Sleep(100)
Until $hWnd <> 0
Return $hWnd
EndFunc ;==>_GetHwndFromPID