Process Information

    • Offizieller Beitrag

    Hallo!

    So. Wider mal ein Skript von mir :) Diemal liest er ein paar informationen aus von allen momentan aktiven Processen! Er liest den ProcessName, die Process ID, den Pfad der Process Exe, den Titel des Processes (falls vorhanden) und dir "ID" (HWnd) des titels (falls vorhanden)
    Mit Doppelklick wird das angeklickte Item in die Zwischenablage kopiert.

    naja.. hier das skript:

    Spoiler anzeigen
    [autoit]

    #include<GuiListView.au3>
    #include<GUIConstantsEx.au3>
    #include<WindowsConstants.au3>

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

    ;By GtaSpider
    ;This Script get you informations of all Process!
    ;*You can Sort it.
    ;*You can put it to clipboard if you doubleclick on the item
    ;*You can see the exeName, the ProcessID, the Path, the Title and the HWND.

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

    Global $mousespeed = RegRead("HKCU\Control Panel\Mouse", "DoubleClickSpeed"),$start = 0,$diff = 0,$doubleclicked = 0,$color = 1,$abbort = 0

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

    GUICreate("Process Informations - By GtaSpider", 516, 235, 193, 115,$WS_SIZEBOX)

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

    GUISetBkColor(0x000000)
    $ListView = GUICtrlCreateListView("Process|ID|Path|Title|HWND", 8, 8, 494, 150)
    GUICtrlSetTip(-1,"DoubleClick to save it on the ClibBoard.")
    GUICtrlSetResizing(-1,102)
    $Progress = GUICtrlCreateProgress(8, 160, 494, 17)
    ;~ GUICtrlSetResizing(-1,512)
    GUICtrlSetResizing(-1,576)
    $RefBut = GUICtrlCreateButton("&Refresh",8,180,245,25)
    GUICtrlSetResizing(-1,576)
    $CloseBut = GUICtrlCreateButton("Process &Kill",257,180,245,25)
    GUICtrlSetResizing(-1,576)
    GUISetState(@SW_SHOW)

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

    _List()

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

    While 1
    $nMsg = GUIGetMsg()
    Switch $nMsg
    Case $GUI_EVENT_CLOSE
    Exit
    Case $ListView
    _GUICtrlListView_SortItems($ListView, GUICtrlGetState($ListView))
    Case $GUI_EVENT_PRIMARYDOWN
    $diff = TimerDiff($start)
    If $mousespeed = "" Then $mousespeed = 500
    If $diff < $mousespeed And $doubleclicked = 0 Then
    $itemclicked = GUICtrlRead($ListView)
    If $itemclicked > 0 Then
    $read = GuiCtrlRead($itemclicked)
    $read = StringSplit($read,"|")
    $clipput = "Process Name: "&$read[1]&@CRLF & _
    "Process ID: "&$read[2]&@CRLF & _
    "Path to Process exe: "&$read[3]&@CRLF & _
    "Title of Process: "&$read[4]&@CRLF & _
    "HWND of Process: "&$read[5]
    ClipPut($clipput)
    TrayTip("Process Informations - By GtaSpider",$read[1]&" saved to Clipboard! You can read it with CTRL+V.",4)
    EndIf
    $doubleclicked = 1
    Else
    $doubleclicked = 0
    EndIf
    $start = TimerInit()
    Case $RefBut
    _List()
    Case $CloseBut
    $lvtodel = GuiCtrlRead($ListView)
    $read = StringSplit(GUICtrlRead(GuiCtrlRead($ListView)),"|")
    HotKeySet("{ESC}","_abbort")
    For $i = 30 To 0 Step -1
    If $abbort Then ExitLoop
    Sleep(100)
    $round = Round($i/10,1)
    If StringLen($round) = 1 Then $round &= ".0"
    TrayTip("Countdown","In "&$round&" Seconds will "&$read[1]&" Close!"&@CRLF&"Pess [ESC] to Abbort!",2,2)
    Next
    TrayTip("","",1)
    HotKeySet("{ESC}")
    If $abbort Then
    $abbort = 0
    ContinueLoop
    EndIf
    ProcessClose($read[2])
    $i = 0
    While ProcessExists($read[2])
    Sleep(100)
    ProcessClose($read[2])
    $i+=1
    If $i = 10 Then ExitLoop
    WEnd
    If ProcessExists($read[2]) Then
    MsgBox(16,"Process Information","I can't close "&$read[1]&" ["&$read[2]&"] !")
    GUICtrlSetBkColor($lvtodel,0xaa0000)
    Else
    GUICtrlDelete($lvtodel)
    EndIf
    EndSwitch
    WEnd

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

    Exit

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

    Func _abbort()
    $abbort = 1
    EndFunc

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

    Func _List()
    _GUICtrlListView_DeleteAllItems($ListView)
    $pl = ProcessList()
    For $i = 1 To $pl[0][0]
    GUICtrlSetData($Progress,(100*$i)/$pl[0][0])

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

    $getPath = _PidGetPath($pl[$i][1])
    $getTitle = _WinGetInfoByPID($pl[$i][1])
    If IsArray($getTitle) Then
    $tmp_list = GUICtrlCreateListViewItem($pl[$i][0] & "|" & $pl[$i][1] & "|" & $getPath & "|" & $getTitle[1][1] & "|" & $getTitle[1][2], $ListView)
    Else
    $tmp_list = GUICtrlCreateListViewItem($pl[$i][0] & "|" & $pl[$i][1] & "|" & $getPath & "|-|-", $ListView)
    EndIf
    GUICtrlSetColor($tmp_list,0xffffbb)
    If $color Then
    $color = 0
    GUICtrlSetBkColor($tmp_list,0x0000aa)
    Else
    $color = 1
    GUICtrlSetBkColor($tmp_list,0x000088)
    EndIf
    Next
    _GUICtrlListView_SetColumnWidth($ListView,0,80)
    _GUICtrlListView_SetColumnWidth($ListView,1,40)
    _GUICtrlListView_SetColumnWidth($ListView,2,150)
    _GUICtrlListView_SetColumnWidth($ListView,3,130)
    _GUICtrlListView_SetColumnWidth($ListView,4,70)
    EndFunc ;==>_List

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

    Func _PidGetPath($pid = "", $strComputer = 'localhost')
    If $pid = "" Then $pid = WinGetProcess(WinGetTitle(""))
    $wbemFlagReturnImmediately = 0x10
    $wbemFlagForwardOnly = 0x20
    $colItems = ""
    $objWMIService = ObjGet("winmgmts:\\" & $strComputer & "\root\CIMV2")
    $colItems = $objWMIService.ExecQuery ("SELECT * FROM Win32_Process WHERE ProcessId = " & $pid, "WQL", $wbemFlagReturnImmediately + $wbemFlagForwardOnly)
    If IsObj($colItems) Then
    For $objItem In $colItems
    If $objItem.ExecutablePath Then Return $objItem.ExecutablePath
    Next
    EndIf
    EndFunc ;==>_PidGetPath

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

    Func _WinGetInfoByPID($sPID)
    Local $aPList = ProcessList(), $iPID
    For $iiCount = 1 To $aPList[0][0]
    If $aPList[$iiCount][1] = $sPID Then
    If $sPID = 0 Then Return 0
    $iPID &= $aPList[$iiCount][1] & Chr(01)
    EndIf
    Next
    $iPID = StringSplit($iPID, Chr(01))
    If $iPID = 0 Then Return SetError(1, 0, 0)
    Local $aStoreHwndAndText[2][9], $nCount = 1
    $OptWSC = Opt('WinSearchChildren', 1)
    $OptWDHT = Opt('WinDetectHiddenText', 1)
    Local $aWinList = WinList()
    For $iCount = 1 To $aWinList[0][0]
    For $xCount = 1 To $iPID[0]
    If WinGetProcess($aWinList[$iCount][1]) = $iPID[$xCount] And _
    $aWinList[$iCount][0] <> '' Then
    Local $aWinPos = WinGetPos($aWinList[$iCount][1])
    Local $aWinClient = WinGetClientSize($aWinList[$iCount][1])
    $nCount += 1
    ReDim $aStoreHwndAndText[$nCount][9]
    $aStoreHwndAndText[$nCount - 1][1] = $aWinList[$iCount][0]
    $aStoreHwndAndText[$nCount - 1][2] = $aWinList[$iCount][1]
    $aStoreHwndAndText[$nCount - 1][3] = WinGetText($aWinList[$iCount][1])
    $aStoreHwndAndText[$nCount - 1][4] = $aWinPos[0]
    $aStoreHwndAndText[$nCount - 1][5] = $aWinPos[1]
    $aStoreHwndAndText[$nCount - 1][6] = $aWinClient[0]
    $aStoreHwndAndText[$nCount - 1][7] = $aWinClient[1]
    $aStoreHwndAndText[$nCount - 1][8] = WinGetClassList($aWinList[$iCount][1])
    EndIf
    Next
    Next
    Opt('WinSearchChildren', $OptWSC)
    Opt('WinDetectHiddenText', $OptWDHT)
    If $nCount = 1 Then Return SetError(2, 0, 0)
    Return $aStoreHwndAndText
    EndFunc ;==>_WinGetInfoByPID

    [/autoit]

    Mfg Spider

    Edit: So! Jetzt kann man den Process Schließen! Danke für die idee, waluev :)

    Edit2: Für AutoIt Version 3.2.10.0 und höher Optimiert.

  • Hi...


    Tolle Sache...Schön schlank und dezent.

    Diese tollen Farben in der GUI...herrvoragend^^

    Schöne Sache...
    wenn man die Prozesse auch beenden könnte wäre das auch cool.

    Frage:
    Warum lädt das erst solange bis die Prozesse erfasst sind? Ist doch im Tskmgr auch ni so.


    Naja aba sonst ist es ne schöne Sache.


    PS.. früher hast du mir sowas per ICQ geschickt :'-(


    Carsten

    Flensburg ist wie Payback - wenn man 18 Punkte hat bekommt man ein Fahrrad.

    2 Mal editiert, zuletzt von Waluev (16. Januar 2007 um 20:58)

  • WOW richtig schickes programm!!!!!!!
    teilweise sehr nützliche funktionen drin getest geht und für sehr gut befunden^^
    allein der statusbalcken ist schon tight^^
    weiter so!!!!
    erzeuger code vom programm(nur STRG-V):

    Code
    Process Name: apache.exe
    Process ID: 1048
    Path to Process exe: C:\XAMPP\xampp\apache\bin\apache.exe
    Title of Process: -
    HWND of Process: -

    dauert einfach so lange weils so cowl ist^^
    ein :keks: für die spinne ;)

    //edit
    erst den post da unten von meger lesen!!!
    joa besonders ist das hilfreich wenn man nen virus hat^^ :rolleyes:

    • Offizieller Beitrag

    Hallo!

    Waluev: danke fürs lob :) es dauert leider so lange weil er ja den pfad usw noch auslesen muss :( Kann ja mal gucken ob das vlt auch schneller geht!

    snoozer: auch für dich ein danke, und ein :keks: ;)

    @th.meger: und nochmal ein danke :) Ja! Ich brauche es auch so recht oft.. letzens z.b. brauchte ich es um den dummen realschead zu finden der sich immer im startup startet!

    Also danke fürs lob @all! Wenn jemmand verbesserungsvorschläge oderso hat, immer her damit :)

    Mfg Spider

  • Hi Gta...


    bitte bitte für das Lob...^^


    Verbesserungsvorschlag wäre, dass man die Prozesse beenden kann...


    Carsten

    Flensburg ist wie Payback - wenn man 18 Punkte hat bekommt man ein Fahrrad.

    • Offizieller Beitrag

    HI,

    hier ein Relikt aus Anfangszeiten:

    Spoiler anzeigen
    [autoit]

    Opt("WinTitleMatchMode", 4)
    #include <GUIConstants.au3>
    #include <Process.au3>

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

    $GUI = GUICreate("Exit Programm", 233, 251, 192, 125)
    ;Group
    $options_G = GUICtrlCreateGroup("Options", 8, 40, 217, 201)
    ;RadioButton
    $taskkill_R = GUICtrlCreateRadio("Taskkill", 16, 64, 80, 17)
    $winClose_R = GUICtrlCreateRadio("WinClose", 16, 88, 80, 17)
    $winKill_R = GUICtrlCreateRadio("WinKill", 16, 112, 80, 17)
    $processClose_R = GUICtrlCreateRadio("ProcessClose", 16, 136, 80, 17)
    $pid_R = GUICtrlCreateRadio("ProcessID", 126, 112, 80, 17)
    ;Label
    $status_L = GUICtrlCreateLabel("Ready...", 16, 216, 203, 17, $SS_SUNKEN)
    $headline_L = GUICtrlCreateLabel("Exit Program", 16, 8, 211, 25)
    $program_L = GUICtrlCreateLabel("Choose Program", 16, 160, 203, 17, $SS_SUNKEN)
    ;Button
    $Go_B = GUICtrlCreateButton("GO", 126, 64, 89, 30)
    ;ComboBox
    $processCombo_C = GUICtrlCreateCombo("", 16, 184, 201, 21)

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

    GUICtrlSetColor($headline_L, "0xff0000")
    GUICtrlSetColor($program_L, "0xff0000")
    GUICtrlSetFont($headline_L, 14, 400, "", "Arial")
    GUICtrlSetState($processCombo_C, $GUI_FOCUS)
    GUISetState(@SW_SHOW)

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

    GUICtrlSetState($taskkill_R, $GUI_CHECKED)

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

    _processCombo()

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

    While 1
    $msg = GUIGetMsg()
    Select
    Case $msg = $GUI_EVENT_CLOSE
    ExitLoop
    Case $msg = $Go_B
    If GUICtrlRead($taskkill_R) = $GUI_CHECKED Then _taskkill()
    If GUICtrlRead($winClose_R) = $GUI_CHECKED Then _winClose()
    If GUICtrlRead($winKill_R) = $GUI_CHECKED Then _winKill()
    If GUICtrlRead($processClose_R) = $GUI_CHECKED Then _processClose()
    If GUICtrlRead($pid_R) = $GUI_CHECKED Then _killByPID()
    Case $msg = $taskkill_R Or $msg = $processClose_R
    _processCombo()
    Case $msg = $winKill_R Or $msg = $winClose_R
    _winListCombo()
    Case Else
    ;;;;;;;
    EndSelect
    WEnd

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

    Func _taskkill()
    $rc = _RunDOS("start taskkill /F /IM " & GUICtrlRead($processCombo_C) & " /T")
    GUICtrlSetData($status_L, "Process " & GUICtrlRead($processCombo_C) & " killed")
    Sleep(2500)
    GUICtrlSetData($status_L, "Ready...")
    EndFunc ;==>_taskkill

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

    Func _winClose()
    If WinExists(GUICtrlRead($processCombo_C)) Then
    WinClose(GUICtrlRead($processCombo_C))
    Else
    GUICtrlSetData($status_L, "Window doesn't exist")
    Sleep(2500)
    GUICtrlSetData($status_L, "Ready...")
    EndIf
    EndFunc ;==>_winClose

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

    Func _winKill()
    If WinExists(GUICtrlRead($processCombo_C)) Then
    WinKill(GUICtrlRead($processCombo_C))
    Else
    GUICtrlSetData($status_L, "Window doesn't exist")
    Sleep(2500)
    GUICtrlSetData($status_L, "Ready...")
    EndIf
    EndFunc ;==>_winKill

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

    Func _processClose()
    If ProcessExists(GUICtrlRead($processCombo_C)) Then
    ProcessClose(GUICtrlRead($processCombo_C))
    Else
    GUICtrlSetData($status_L, "Process doesn't exist")
    Sleep(2500)
    GUICtrlSetData($status_L, "Ready...")
    EndIf
    EndFunc ;==>_processClose

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

    Func _killByPID()
    If _ProcessGetName(GUICtrlRead($processCombo_C)) <> '' Then
    $rc = _RunDOS("start taskkill /PID " & GUICtrlRead($processCombo_C) & " /T")
    GUICtrlSetData($status_L, "ProcessID " & GUICtrlRead($processCombo_C) & " - (" & _ProcessGetName(GUICtrlRead($processCombo_C)) & ")" & " killed")
    Sleep(2500)
    GUICtrlSetData($status_L, "Ready...")
    Else
    GUICtrlSetData($status_L, "ProcessID doesn't exist")
    Sleep(2500)
    GUICtrlSetData($status_L, "Ready...")
    EndIf
    EndFunc ;==>_killByPID

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

    Func _processCombo()
    Dim $processArray = ProcessList()
    For $i = 1 To $processArray[0][0]
    GUICtrlSetData($processCombo_C, $processArray[$i][0])
    Next
    EndFunc ;==>_processCombo

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

    Func _winListCombo()
    Dim $windowArray = WinList()
    For $i = 1 To $windowArray[0][0]
    ; Only display visble windows that have a title
    If $windowArray[$i][0] <> "" Then ;AND IsVisible($var[$i][1]) Then
    GUICtrlSetData($processCombo_C, $windowArray[$i][0])
    EndIf
    Next
    EndFunc ;==>_winListCombo

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

    So long,

    Mega

  • Hi Spider,
    wirklich nettes Script, gefällt mir gut.
    Ich hab mal ein wenig mircosofiert :lol: und einiges über WMI nachgelesen. Wenn man "winmgmts:\\localhost\root\CIMV2" abfragen will, dann geht dies auch in der Kurzform ObjGet("winmgmts:")
    Der ganze Stoff und Deine geniale Idee hat mich dann dazu veranlasst folgende UDF zu schreiben.

    Spoiler anzeigen
    [autoit]


    #include-once
    Func _ProcessInfo($iPID="0",$iFlag="0")
    ; ------------------------------------------------------------------------------
    ; Include Version:1.00 (17/01/2007)
    ; AutoIt Version: 3.2.2.0
    ; Author Wilfried Stenzel (Chile)
    ; Language: English
    ; Description - Returns a array containing the process, PID, Priority, Threats, ExecutablePath ...
    ; if no entries $array[0][0] = 0
    ; Syntax - _ProcessInfo($iPID,$iFlag)
    ; Parameters - $iPID - "0" (default) = currently running processes
    ; - by PID = the Process-ID of the process to check
    ; - by name = the name of the process to check
    ; $iFlag - "0" (default) = Shortlist (only WMI)
    ; $iFlag - "1" = Longlist (WMI + FileVersion, CompanyName, FileDescription, ProductName)
    ; Requirements - None.
    ; Return Values - Success - The array of the process(es)
    ; The array returned is two-dimensional and is made up as follows:
    ; $array[0][0] = Number of processes
    ; $array[1][0] = Process name
    ; $array[1][1] = Process ID (PID) as string
    ; $array[1][2] = Process ID (PID) as uint32 Global process identifier that you can use to identify a process
    ; $array[1][3] = Priority (32=normal/64=high/128/256=realtime as uint32 The higher the value, the higher priority a process receives
    ; $array[1][4] = Threat Count Number of active threads in a process
    ; $array[1][5] = Executable Path, base for 7 - 10
    ; $array[1][6] = CommandLine (Command line used to start a specific process, if applicable. This property is new for Windows XP.
    ; $array[1][7] = the "File" version information returns -1 if file not exist /returns "0.0.0.0" if no version information
    ; returns -1 if file not exist /returns "0.0.0.0" if no version information
    ; $array[1][8] = the "File" CompanyName like "Microsoft Corporation
    ; $array[1][9] = the "File" Description see more en FileGetVersion
    ; $array[1][10] = the "File" ProductName
    ;
    ; $array[n][0] = nth Process name
    ; ...
    ; Notes - http://msdn2.microsoft.com/en-us/library/aa394372.aspx about WMI
    ;====================================================================================

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

    Local $iWMIService,$iWMIItems,$iPInfo[1][11],$iSelect = "SELECT * FROM Win32_Process"
    If $iPid = "0" Then
    $iSelect = "SELECT * FROM Win32_Process"
    Else
    If Mod($iPid,$iPid) = 0 Then
    $iSelect &= " WHERE ProcessId = " & $iPID
    Else
    $iSelect &= " WHERE Name = '" & $iPID &"'"
    EndIf
    EndIf
    $iWMIService = ObjGet("winmgmts:")
    $iWMIItems = $iWMIService.ExecQuery ($iSelect)
    If IsObj($iWMIItems) Then
    For $i In $iWMIItems
    ReDim $iPInfo[UBound($iPInfo)+1][UBound($iPInfo,2)]
    $iPInfo[0][0] = $iPInfo[0][0]+1
    $iPInfo[$iPInfo[0][0]][0] = $i.Name ; ProcessName string
    $iPInfo[$iPInfo[0][0]][1] = $i.Handle ; ProcessID string
    $iPInfo[$iPInfo[0][0]][2] = $i.ProcessId ; ProcessID uint32
    $iPInfo[$iPInfo[0][0]][3] = $i.Priority ; Priority uint32
    $iPInfo[$iPInfo[0][0]][4] = $i.ThreadCount ; ThreatCount uint32
    $iPInfo[$iPInfo[0][0]][5] = $i.ExecutablePath ; ExecutablePath string
    If @OSType ="WIN32_WINDOWS" Then
    $iPInfo[$iPInfo[0][0]][6] = " *** Not supported on Windows 95/98/ME ***"
    Else
    $iPInfo[$iPInfo[0][0]][6] = $i.CommandLine
    EndIf
    If $iFlag=1 Then
    If FileExists($iPInfo[$iPInfo[0][0]][5]) Then
    $iPInfo[$iPInfo[0][0]][7] = FileGetVersion($iPInfo[$iPInfo[0][0]][5])
    $iPInfo[$iPInfo[0][0]][8] = FileGetVersion($iPInfo[$iPInfo[0][0]][5],"CompanyName")
    $iPInfo[$iPInfo[0][0]][9] = FileGetVersion($iPInfo[$iPInfo[0][0]][5],"FileDescription")
    $iPInfo[$iPInfo[0][0]][10] = FileGetVersion($iPInfo[$iPInfo[0][0]][5],"ProductName")
    Else
    $iPInfo[$iPInfo[0][0]][7] = -1
    EndIf
    EndIf
    Next
    EndIf
    Return $iPInfo
    EndFunc ;==>_ProcessInfo

    [/autoit]


    Ich liefere da zwar keine Fenstertitel oder Win-Handle, dafür aber neben dem Path auch die CMDLine (ab XP) sowie einige Versionsinfo, sofern vorhanden.
    Achja, die Infos sind jederzeit erweiterbar, ARRAY heraufsetzen und weitere Abfragen einfüllen
    Das Script müsste (no se nada seguro) auch unter NT 4.0 ohne PSAPI.DLL laufen, da funz ja bekanntlich der ProcessExist nur mit der DLL

    Saludos de Chile
    Willie

    P.S. Ich hoffe die Beschreibung ist ok so, mein Englisch ist absolut miserabel, bevorzuge lieber Spanisch

    Edit: hab die UDF als Datei angehangen, der Einfachheit halber

    Dateien

    Ich hatte einst ein schönes Vaterland.
    Der Eichenbaum wuchs dort so hoch, die Veilchen nickten sanft.
    Es war ein Traum.
    Das küsste mich auf deutsch und sprach auf deutsch (Man glaubt es kaum
    wie gut es klang) das Wort: „Ich liebe dich!“
    Es war ein Traum.
    Heinrich Heine "In der Fremde"

    2 Mal editiert, zuletzt von RapaNui (18. Januar 2007 um 06:00)

  • Das Ding scheint ja zu laufen, 6 downloads
    Nix für ungut, gern geschehen
    Saludos de Chile

    Ich hatte einst ein schönes Vaterland.
    Der Eichenbaum wuchs dort so hoch, die Veilchen nickten sanft.
    Es war ein Traum.
    Das küsste mich auf deutsch und sprach auf deutsch (Man glaubt es kaum
    wie gut es klang) das Wort: „Ich liebe dich!“
    Es war ein Traum.
    Heinrich Heine "In der Fremde"

  • Ich weiß ich melde mich etwas ähm späät aber das script läuft bei mir nicht. Liegt das an der anderen AutoIT Version?

    MfG

    akira2012

    ***---____---Wer RechtSCHRAIBfehler findet der darf Sie behalLTEN!---___---***

  • Code
    ERROR: _GUICtrlListView_SortItems(): undefined function.
            	_GUICtrlListView_SortItems($ListView, GUICtrlGetState($ListView))

    MfG

    akira2012

    ***---____---Wer RechtSCHRAIBfehler findet der darf Sie behalLTEN!---___---***