prozessnamen aus PID und dann die fenster zum zugehörigen prozess...

  • Hallo WhiteLion,

    mit

    [autoit]

    _ProcessGetName

    [/autoit]

    kannst du den Prozessnamen zu einer PID ermitteln. Um das dazugehörige Fenster heruaszufinden kannst du ja mit

    [autoit]

    WinList

    [/autoit]

    alle Fenster in ein Array speichern lassen. Dieses Array musst du dann in einer Schleife durchgehen und mit WinGetProcess (anhand der zurückgegeben FensterID) prüfen ob es sich um ein zu der PID gehöriges Fenster handelt, Ansatz:

    Spoiler anzeigen
    [autoit]

    #include<Array.au3>
    #include<WinAPI.au3>
    #include<Process.au3>
    $Fenster = WinList()
    $size = $Fenster[0][0]+1
    ReDim $Fenster[$size][6]
    $Pid = InputBox("PID","gesuchte PID")
    For $i = 1 To $Fenster[0][0]
    $Fenster[$i][2] = _WinAPI_GetClassName($Fenster[$i][1])
    $Fenster[$i][3] = WinGetText($Fenster[$i][1])
    $Fenster[$i][4] = WinGetProcess($Fenster[$i][1])
    $Fenster[$i][5] = _ProcessGetName($Fenster[$i][4])
    if $Fenster[$i][4] = $Pid Then MsgBox(0,"Fenster-Handle zu Pid "& $Pid,$Fenster[$i][1])
    Next
    $Fenster[0][0] = "[Fenstertitel (Zahl: " & $Fenster[0][0] & ")]"
    $Fenster[0][1] = "[HWND]"
    $Fenster[0][2] = "[Fensterklasse]"
    $Fenster[0][3] = "[Fenstertext]"
    $Fenster[0][4] = "[PID]"
    $Fenster[0][4] = "[Prozessname]"
    _ArrayDisplay($Fenster)

    [/autoit]

    die Ausgabe in der MsgBox solltest du in separates Array schreiben,

    mfg (Auto)Bert

  • Soweit ich weiss ist eine PID eine Process ID Leider hab ich das Englishe Wort für ID vergessen *wie Peinlich ;( *

    Aufjeden zeigt es die prozess identität oder so xD