$iPID = Prozess-ID, des Prozesses, zu dem der Fenstertitel ermittelt werden soll.
Return:
Window-Handle des Prozesses. Um den Fenstertitel als String zu ermitteln, die Funktion folgendermaßen verwenden:
Code: Alles auswählen
Dim $sWindowTitle = WinGetTitle(_WinGetHandleByPID($iPID))Code: Alles auswählen
Func _WinGetHandleByPID($iPID, $iArray = 1)
Local $aError[1] = [0], $aWinList, $sReturn
If IsString($iPID) Then
$iPID = ProcessExists($iPID)
EndIf
$aWinList = WinList()
For $A = 1 To $aWinList[0][0]
If WinGetProcess($aWinList[$A][1]) = $iPID And BitAND(WinGetState($aWinList[$A][1]), 2) Then
If $iArray Then
Return $aWinList[$A][1]
EndIf
$sReturn &= $aWinList[$A][1] & Chr(1)
EndIf
Next
If $sReturn Then
Return StringSplit(StringTrimRight($sReturn, 1), Chr(1))
EndIf
Return SetError(1, 0, $aError)
EndFunc