_WinlistVisible - anzahl aller fenster...

  • hello. ich benötige eure hilfe bei folgendem problem:

    [autoit]

    $w2=_WinlistVisible("A") ;anzahl aller fenster die mit "A" beginnen

    [/autoit]

    kann mir jemand verraten, wie ich es schaffe auf die anzahl aller fenster zu kommen die mit "A" enden?

    vielen dank!

    Einmal editiert, zuletzt von anna.assaoui (20. Mai 2010 um 18:49)

  • Funktion Bitte .. sonst kann man ja schlecht helfen

    falls die Funktion ein Array zurückgibt probier folgendes

    [autoit]


    $w2=_WinlistVisible("A") ;anzahl aller fenster die mit "A" beginnen
    MsgBox(0, "Anzahl", Ubound($w2))

    [/autoit]
    • Offizieller Beitrag

    Ich denke mal die Funktion ist von mir. :D

    [autoit]

    Func _WinlistVisible($Titel)
    Local $var = WinList($Titel)
    Local $aTemp[1][2]
    Local $iCount = 0
    For $i = 1 To $var[0][0]
    ; Listet nur die sichtbaren Fenster auf, die einen Titel haben
    If $var[$i][0] <> "" And BitAND(WinGetState($var[$i][1]), 2) Then
    $iCount += 1
    ReDim $aTemp[UBound($aTemp) + 1][2]
    $aTemp[$iCount][0] = $var[$i][0]
    $aTemp[$iCount][1] = $var[$i][1]
    EndIf
    $aTemp[0][0] = UBound($aTemp) - 1
    Next
    Return $aTemp
    EndFunc ;==>_WinlistVisible

    [/autoit]
  • so siehts das aus:

    [autoit]


    $i=0
    Func _WinlistVisible($Titel)
    Local $var = WinList($Titel)
    Local $aTemp[1][2]
    Local $iCount = 0
    For $i = 1 To $var[0][0]

    If $var[$i][0] <> "" And BitAND(WinGetState($var[$i][1]), 2) Then
    $iCount += 1
    ReDim $aTemp[UBound($aTemp) + 1][2]
    $aTemp[$iCount][0] = $var[$i][0]
    $aTemp[$iCount][1] = $var[$i][1]
    EndIf
    $aTemp[0][0] = UBound($aTemp) - 1
    Next
    Return $aTemp
    EndFunc

    [/autoit][autoit][/autoit][autoit]

    $w1=_WinlistVisible("A") ;anzahl aller fenster die mit "A" beginnen
    $w2=_WinlistVisible("B") ;anzahl aller fenster die mit "B" beginnen

    [/autoit][autoit][/autoit][autoit]

    ToolTip("Counter"& @CRLF & $w1 [0][0] + $w2 [0][0],1840,1135)

    [/autoit][autoit][/autoit][autoit][/autoit][autoit][/autoit]


    in dem fall sind es zwei unterschiedliche fenster, deren anzahl addiert werden soll. allerdings weiß ich auch nicht recht, wie ich es dann im tooltip unterbringe...

  • boah geht das schnell!

    ja Raupi, das ist deine :) - und hat super dienste geleistet! ein weiteres DANKESCHÖN!

  • hat niemand eine idee?

    • Offizieller Beitrag

    Mach es so:

    [autoit]

    $i=0
    Func _WinlistVisible($Titel)
    Local $var = WinList($Titel)
    Local $aTemp[1][2]
    Local $iCount = 0
    For $i = 1 To $var[0][0]

    [/autoit][autoit][/autoit][autoit]

    If $var[$i][0] <> "" And BitAND(WinGetState($var[$i][1]), 2) Then
    $iCount += 1
    ReDim $aTemp[UBound($aTemp) + 1][2]
    $aTemp[$iCount][0] = $var[$i][0]
    $aTemp[$iCount][1] = $var[$i][1]
    EndIf
    $aTemp[0][0] = UBound($aTemp) - 1
    Next
    Return $aTemp
    EndFunc

    [/autoit][autoit][/autoit][autoit]

    $w1=_WinlistVisible("A") ;anzahl aller fenster die mit "A" beginnen
    $w2=_WinlistVisible("B") ;anzahl aller fenster die mit "B" beginnen
    ToolTip("Counter : "& ($w1[0][0] + $w2[0][0]),0,0)
    Sleep(2000)

    [/autoit]
  • hey Raupi,

    die zweite variante funktioniert genauso gut wie die erste! aber ich möchte ja, dass nicht die fenster die mit "A" beginnen angezeigt werden, sondern die, die mit "A" enden :)

    • Offizieller Beitrag

    Hatte ich falsch verstanden. 8|

    [autoit]

    $i = 0
    Func _WinlistVisibleEx($Titel)
    Local $var = WinList()
    Local $aTemp[1][2]
    Local $iCount = 0
    For $i = 1 To $var[0][0]
    If $var[$i][0] <> "" And BitAND(WinGetState($var[$i][1]), 2) Then
    Local $temp = StringRight($var[$i][0], 1)
    If $temp = $Titel Then
    $iCount += 1
    ReDim $aTemp[UBound($aTemp) + 1][2]
    $aTemp[$iCount][0] = $var[$i][0]
    $aTemp[$iCount][1] = $var[$i][1]
    EndIf
    EndIf
    $aTemp[0][0] = UBound($aTemp) - 1
    Next
    Return $aTemp
    EndFunc ;==>_WinlistVisibleEx

    [/autoit][autoit][/autoit][autoit]

    $w1 = _WinlistVisibleEx("A") ;anzahl aller fenster die mit "A" enden
    $w2 = _WinlistVisibleEx("B") ;anzahl aller fenster die mit "B" enden
    ToolTip("Counter : " & ($w1[0][0] + $w2[0][0]), 0, 0)
    Sleep(2000)

    [/autoit]