1. Dashboard
  2. Mitglieder
    1. Letzte Aktivitäten
    2. Benutzer online
    3. Team
    4. Mitgliedersuche
  3. Forenregeln
  4. Forum
    1. Unerledigte Themen
  • Anmelden
  • Registrieren
  • Suche
Dieses Thema
  • Alles
  • Dieses Thema
  • Dieses Forum
  • Artikel
  • Seiten
  • Forum
  • Erweiterte Suche
  1. AutoIt.de - Das deutschsprachige Forum.
  2. Forum
  3. AutoIt 3
  4. Skripte

Prozeßvergleich

  • BugFix
  • 8. März 2009 um 14:45
1. offizieller Beitrag
  • BugFix
    aka McBarby
    Reaktionen
    7
    Beiträge
    11.162
    • 8. März 2009 um 14:45
    • Offizieller Beitrag
    • #1

    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]

    MfG BugFix

    Mein Git | Meine UDF | Array-Tutorial | Bit-Tutorial | Dll-Tutorial | RegExp-Beispiel

    2 Mal editiert, zuletzt von BugFix (8. März 2009 um 14:55)

    • Nächster offizieller Beitrag
  • blubbstar
    Reaktionen
    1
    Beiträge
    1.050
    • 8. März 2009 um 15:07
    • #2

    Feine Sache! Kann ich gut gebrauchen ;).

    lg blubbstar :)

    Katanga (Spiel)

  • pceumel
    Gast
    • 8. März 2009 um 18:26
    • #3

    Danke !!!

  • blubbstar
    Reaktionen
    1
    Beiträge
    1.050
    • 8. März 2009 um 18:32
    • #4

    Läuft das eigentlich auch auf Vista?

    lg blubbstar :)

    Katanga (Spiel)

  • BugFix
    aka McBarby
    Reaktionen
    7
    Beiträge
    11.162
    • 8. März 2009 um 20:03
    • Offizieller Beitrag
    • #5
    Zitat von blubbstar

    Läuft das eigentlich auch auf Vista?


    Kann ich nicht sicher sagen, bin bekennender Vista-Verweigerer. :rolleyes:

    MfG BugFix

    Mein Git | Meine UDF | Array-Tutorial | Bit-Tutorial | Dll-Tutorial | RegExp-Beispiel

    • Vorheriger offizieller Beitrag
    • Nächster offizieller Beitrag
  • Online
    Raupi
    Mjölnir
    Reaktionen
    1
    Beiträge
    4.093
    • 8. März 2009 um 20:17
    • Offizieller Beitrag
    • #6

    Cooles Script BugFix. :thumbup:
    blubbstar funtioniert einwandfrei unter Vista-Ultimate, man muß nur HotKeySet ändern . Vista mag die Kombination überhaupt nicht .

    MfG Raupi

    Meine UDF´S:
    WM_Notify per FunktionUDF zum Anzeigen von Hilfetexten und einer Uhr in der Statusbar.Anzeige einer Uhr in der Menüzeile
    GIF,JPG und BMP Dateien aus Resource laden. Array aus Dll-Datei laden UDF zum schreiben und lesen von Array´s in(aus) ein(em) INI-File
    LUA Script zum erstellen eines Funktionsheaders.
    Tipp: Zum bearbeiten von DLL Dateien kann man den XN Resource Editor benutzen, ist besser als Reshacker

    Zitat von Sokrates

    "Wer weiß, dass er nichts weiß, weiß mehr als der, der nicht weiß, dass er nichts weiß."

    Zitat von Werner Krauß

    Der Witz ist das Erdgeschoss des Humors, die Satire der Erste Stock, die Ironie der Zweite, der Sarkasmus das Mansardenstübchen.

    • Vorheriger offizieller Beitrag
    • Nächster offizieller Beitrag
  • tobi_girst
    Fortgeschrittener
    Beiträge
    454
    • 8. März 2009 um 20:19
    • #7

    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)

  • Alina
    Poweruserin
    Reaktionen
    1
    Beiträge
    3.287
    • 20. Juni 2009 um 13:04
    • #8
    Zitat von BugFix

    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

  • BugFix
    aka McBarby
    Reaktionen
    7
    Beiträge
    11.162
    • 20. Juni 2009 um 13:28
    • Offizieller Beitrag
    • #9
    Zitat von Alina

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


    Ersetze im Bsp. einfach: HotKeySet('#!p', '_showP') durch AdlibEnable( '_showP', "ZeitIntervall")

    MfG BugFix

    Mein Git | Meine UDF | Array-Tutorial | Bit-Tutorial | Dll-Tutorial | RegExp-Beispiel

    • Vorheriger offizieller Beitrag
  • MatthiasG.
    Gast
    • 20. Juni 2009 um 13:53
    • #10

    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

  • simon
    Gast
    • 21. Juni 2009 um 17:03
    • #11

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

  1. Datenschutzerklärung
  2. Impressum
  3. Shoutbox-Archiv
Community-Software: WoltLab Suite™