MOIN
Ich habe mich nun extra auf diesem Forum angemeldet in der Hoffnung jemand könnt mir bei meinem Problem helfen.
Ich versuche einen "ProcessKiller" zu schreiben. Das Probelm ist ich kann nämlich mit dem Befehl "Guictrlread" nur einen der markierten Einträge aus einem "ListView" auslesen.
Da mein Programm aber auch mehere Prozesse beenden soll würde ich es gerne so machen dass alle markierten Prozesse geschlossen werden, die Liste an sich aber unverändert bleibt.
Hier mein Skript:
C
#include <GUIConstantsEx.au3>
#include <ListBoxConstants.au3>
#include <Array.au3>
#include <ListviewConstants.au3>
#include <GUIConstantsEx.au3>
#include <GuiListView.au3>
#include <StructureConstants.au3>
#include <WindowsConstants.au3>
ProzessK()
Func ProzessK()
$prozess_Array = ProcessList()
GUICreate("Prozess Killer", 500, 700, 100, 100)
GUISetFont(12)
GUICtrlCreateLabel("Anzahl Porzesse:", 9, 670, 150, 25)
$proz_anzahl = GUICtrlCreateLabel($prozess_Array[0][0], 159, 670, 50,25)
GUICtrlCreateGroup("", 5, 657, 200, 35)
$Prozess_list = GUICtrlCreateListView("Prozesse", 5, 5, 490, 625, $LVS_SHOWSELALWAYS)
_GUICtrlListView_SetColumnWidth($Prozess_list, 0, 400)
$Button_Proz_loeschen = GUICtrlCreateButton("Prozess schließen", 297, 668, 200, 27)
$Button_Proz_aktuali = GUICtrlCreateButton("Aktualisieren", 297, 638, 200, 27)
GUISetState()
$prozess_Array = ProcessList()
_ArraySort($prozess_Array)
For $i = 2 to (UBound($prozess_Array) - 1 ) Step + 1
$Prozess_list_item = GUICtrlCreateListViewItem($prozess_Array[$i][0], $Prozess_list)
Next
While 1
$msg = GUIGetMsg()
Select
Case $msg = $GUI_EVENT_CLOSE
Exit
Case $msg = $Button_Proz_loeschen
;~ -----------------------------------------------------------------------------------------------UNFERIG
For $i = 1 to 4 ; 4 = nur zum testen bei meheren einträgen
$del_prog_id = (GUICtrlRead($Prozess_list)) - 7
$del_prog = $prozess_Array[$del_prog_id][0]
ProcessClose("" & $del_prog)
Next
;~ -----------------------------------------------------------------------------------------------UNFERIG
Case $msg = $Button_Proz_aktuali
$prozess_Array = ProcessList()
GUICtrlDelete($Prozess_list)
GUICtrlDelete($proz_anzahl)
$Prozess_list = GUICtrlCreateListView("Prozesse", 5, 5, 490, 625, $LVS_SHOWSELALWAYS)
_GUICtrlListView_SetColumnWidth($Prozess_list, 0, 400)
$proz_anzahl = GUICtrlCreateLabel($prozess_Array[0][0], 159, 670, 50,25)
_ArraySort($prozess_Array)
For $i = 2 to (UBound($prozess_Array) - 1 ) Step + 1
$Prozess_list_item = GUICtrlCreateListViewItem($prozess_Array[$i][0], $Prozess_list)
Next
EndSelect
WEnd
EndFunc
Alles anzeigen