• Offizieller Beitrag

    Hi,
    im Hilfeforum tauchte die Frage auf, wie man feststellen kann, ob ein neuer Prozeß hinzugekommen ist.
    Ich hab das mal in ein Bsp. verpackt. Hier wird es mit HotKey (WIN+ALT+P) aufgerufen. Läßt sich im Skript zum Bsp. mit AdlibEnable einbinden.

    Spoiler anzeigen
    [autoit]

    Global $oList_old = ObjCreate("Scripting.Dictionary")
    Global $oList_cur = ObjCreate("Scripting.Dictionary")
    Global $oList_new = ObjCreate("Scripting.Dictionary")
    Global $aProcess

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

    HotKeySet('#!p', '_showP')
    HotKeySet('#!e', '_ende')

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

    While True
    Sleep(50)
    WEnd

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

    Func _showP()
    Local $ar = _GetNewProcess(), $str = ''
    If $ar[0][0] = -1 Then Return MsgBox(0, 'Neue Prozesse', 'Keine neuen Prozesse.')
    For $i = 0 To UBound($ar) -1
    $str &= $ar[$i][1] & @TAB & $ar[$i][0] & @CRLF
    Next
    Return MsgBox(0, 'Neue Prozesse', $str)
    EndFunc

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

    Func _ende()
    Exit
    EndFunc

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

    Func _GetNewProcess()
    $aProcess = ProcessList()
    For $i = 1 To UBound($aProcess) -1
    $oList_cur.Add($aProcess[$i][1], $aProcess[$i][0])
    Next
    If $oList_old.Count <> 0 Then
    If $oList_new.Count > 0 Then $oList_new.RemoveAll
    For $process In $oList_cur.Keys
    If Not $oList_old.Exists($process) Then $oList_new.Add($process, $oList_cur.Item($process))
    Next
    $oList_old.RemoveAll
    Else
    _CopyList($oList_cur, $oList_new)
    EndIf
    _CopyList($oList_cur, $oList_old)
    $oList_cur.RemoveAll
    Local $aOut[1][2] = [[-1]], $i = 0
    If $oList_new.Count > 0 Then
    ReDim $aOut[$oList_new.Count][2]
    For $process In $oList_new.Keys
    $aOut[$i][0] = $oList_new.Item($process)
    $aOut[$i][1] = $process
    $i += 1
    Next
    EndIf
    Return $aOut
    EndFunc ;==>_GetNewProcess

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

    Func _CopyList(ByRef $oDictFrom, ByRef $oDictTo)
    For $key In $oDictFrom.Keys
    $oDictTo.Add($key, $oDictFrom.Item($key))
    Next
    EndFunc

    [/autoit]
  • Jup, geht!
    BugFix : Auch XP user? Is besser wie Vista, welches ich seit einem Missgeschick meines PC-Fachmannes hatte.

    MfG. tobi_girst

    Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von »tobi_girst« (Morgen, 25:63)

  • Läßt sich im Skript zum Bsp. mit AdlibEnable einbinden.

    Hast Du mal ein Bsp. zum testen? Bin gerade zu ..... um das hin zu bekommen. ;)

    Lieben Gruß,
    Alina

    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

    Geheime Information: ;)
    k3mrwmIBHejryPvylQSFieDF5f3VOnk6iLAVBGVhKQegrFuWr3iraNIblLweSW4WgqI0SrRbS7U5jI3sn50R4a15Cthu1bEr

  • Und ich muss mich als Vista-Schützer mal einsetzen.

    Zu "XP is besser wie Vista", kann ich nur sagen "Nein!". Seit den Service Packs hat Vista XP um Längen überholt (leider erst danach). Bevor jemand behauptet "das ist besser", sollte er Argumente nennen, erst dann lässt sich vernünftig drüber diskutieren...

    @Topic: Super, danke BugFix! Ich kann das Skript im Moment noch nicht gebrauchen, aber gebookmarkt! :D

  • Also ich habe Vista Home Premium bei mir Funtkonierts und musste auch die hotkeys nicht ändern funktioniert einwandfrei