WinActivate - PID

  • Hi,

    ich wüsste gerne ob es irgendwie möglich ist mit Hilfe der PID (ProzessID?) ein Fenster in den Vordergrund zu stellen.
    Also die einzige Information die man besitzt ist die PID.
    Beispiel: Ich starte 2x Notepad.exe und habe von beiden die PID und ich will ein Bestimmtes davon in den Vordergrund stellen. Mit WinActivate geht das schlecht, da ja beide den selben "Titel" haben.
    Ideen?

    €dit: Also wäre es möglich den Titel eines Fensters durch deren PID zu ermitteln und dann auch noch mit WinActivate auf dieses Fenster irgendwie zuzugreifen oder so ähnlich? :)

    2 Mal editiert, zuletzt von life2play (29. Januar 2012 um 14:55)

  • Ich denke es wird schwierig einem Prozess eindeutig ein Fenster zuzuordnen, denn 1. Besitzt nicht jeder Prozess ein Fenster und 2. Kann ein Prozess auch mehr als ein Fenster besitzen.

    EDIT: hellboy3 Er will ja von der PID zum Fenstertitel, nicht umgekehrt

    Gruss Shadowigor

  • [autoit]

    Func _WinActivatePID($iPID)
    Local $aList, $i
    $aList = WinList()
    For $i = 1 To $aList[0][0]
    If WinGetProcess($aList[$i][1]) = $iPID Then Return WinActivate($aList[$i][1])
    Next
    Return -1
    EndFunc

    [/autoit]


    PS: Die Funktion Return das Handle :D