Wie vielleicht manche schon gesehen haben, habe ich an einem Taskmanager geschrieben.
So hier mal so den ich würde mich über Kritik, Lobe, usw. freuen
Spoiler anzeigen
#NoTrayIcon
#include <GUIConstants.au3>
#include <WindowsConstants.au3>
#include <GuiTab.au3>
#include <Array.au3>
dim $Winlists[301][2]
dim $prolists[301][2]
$title="Taskmanager V1.0 by TheShadowAE"
$ontop=iniread("Tasks.ini","ontop","on","0")
global $unsichtbare=iniread("Tasks.ini","auchunsicht","on","0")
#Region ### START Koda GUI section ### Form=D:\Progen\AutoIt\Meine\Forms\Tasks.kxf
$Form1 = GUICreate($title, 633, 457, 190, 120, BitOR($WS_SYSMENU,$WS_MINIMIZEBOX))
$Tab1 = GUICtrlCreateTab(8, 8, 617, 433)
GUICtrlSetResizing(-1, $GUI_DOCKWIDTH+$GUI_DOCKHEIGHT)
$TabSheet1 = GUICtrlCreateTabItem("Tasks")
$List1 = GUICtrlCreateList("", 24, 40, 585, 344)
$Button1 = GUICtrlCreateButton("Aktualisieren", 24, 392, 81, 25, 0)
$Button2 = GUICtrlCreateButton("Unsichtbare An/Aus", 120, 392, 105, 25, 0)
$Button3 = GUICtrlCreateButton("Versteckt An/Aus", 240, 392, 105, 25, 0)
$Button4 = GUICtrlCreateButton("Fenstertitel ändern", 360, 392, 105, 25, 0)
$Button5 = GUICtrlCreateButton("Schließen", 480, 392, 105, 25, 0)
$TabSheet2 = GUICtrlCreateTabItem("Prozesse")
GUICtrlSetState(-1,$GUI_SHOW)
$List2 = GUICtrlCreateList("", 24, 40, 585, 344)
$Button7 = GUICtrlCreateButton("Aktualisieren", 24, 392, 81, 25, 0)
$Button8 = GUICtrlCreateButton("Schließen", 120, 392, 105, 25, 0)
GUICtrlCreateTabItem("")
$Button6 = GUICtrlCreateButton("Dieses Fenster im Vordergrund halten An/Aus", 358, 0, 259, 25, 0)
$Label1 = GUICtrlCreateLabel("", 192, 8, 160, 17)
GUISetState(@SW_SHOW)
#EndRegion ### END Koda GUI section ###
GUICtrlSetState($TabSheet1,$GUI_SHOW)
if $unsichtbare=0 Then
$liste= _WinGetVis()
Else
$liste= _WinGetHiVis()
EndIf
guictrlsetdata($List1,$liste)
$liste=_Proget()
guictrlsetdata($List2,$liste)
if $ontop=1 then winsetontop($title,"",1)
guictrlsetdata($Label1,"Tasks: "&$Winlists[0][0]&" Prozesse: "&$Prolists[0][0])
While 1
$nMsg = GUIGetMsg()
Switch $nMsg
Case $GUI_EVENT_CLOSE
iniwrite("Tasks.ini","ontop","on",$ontop)
iniwrite("Tasks.ini","auchunsicht","on",$unsichtbare)
Exit
case $Button1
reprint(1)
case $Button2
If $unsichtbare=0 Then
$unsichtbare=1
Else
$unsichtbare=0
EndIf
reprint(1)
case $Button3
$tit=gettit()
$num=getnum($tit)
if BitAND(WinGetState($Winlists[$num][1]), 2) Then
WinSetState($tit,"",@SW_HIDE)
Else
WinSetState($tit,"",@SW_SHOW)
EndIf
winsettrans($tit,"",0)
case $Button4
$tit=gettit()
WinSetTitle($tit,"",inputbox("Titel ändern","Neuer Fenstertitel:",$tit))
case $Button5
$really=msgbox(19,"Info","Wollen sie wirklich den Task schließen?"&@crlf&"Es könnte auswirkungen auf das System haben.")
if $really=6 Then
$tit=gettit()
winclose($tit)
EndIf
case $Button6
if $ontop=1 Then
WinSetOnTop($title,"", 0)
$intop=0
Else
WinSetOnTop($title,"", 1)
$ontop=1
EndIf
case $Button7
reprint(2)
case $Button8
$really=msgbox(19,"Info","Wollen sie wirklich den Prozess schließen?"&@crlf&"Es könnte auswirkungen auf das System haben.")
if $really=6 Then
$num=Progetnum()
ProcessSetPriority($Prolists[$num][1],0)
ProcessClose($Prolists[$num][1])
EndIf
EndSwitch
sleep(20)
WEnd
Func _WinGetVis()
Dim $Winvisible = ""
$Winlist = WinList()
$Winlists[0][0]=$Winlist[0][0]
For $i = 1 To $Winlist[0][0]
If StringStripCR($Winlist[$i][0]) <> "" And BitAND(WinGetState($Winlist[$i][1]), 2) Then
$Winvisible &= "|" & $Winlist[$i][0]
EndIf
$Winlists[$i][0]=$Winlist[$i][0]
$Winlists[$i][1]=$Winlist[$i][1]
Next
Return $Winvisible
EndFunc
Func _WinGetHiVis()
Dim $Winvisible = ""
$Winlist = WinList()
$Winlists[0][0]=$Winlist[0][0]
For $i = 1 To $Winlist[0][0]
If StringStripCR($Winlist[$i][0]) <> "" Then
$Winvisible &= "|" & $Winlist[$i][0]
EndIf
$Winlists[$i][0]=$Winlist[$i][0]
$Winlists[$i][1]=$Winlist[$i][1]
Next
Return $Winvisible
EndFunc
Func _ProGet()
Dim $Winvisible = ""
$Prolist = ProcessList()
$Prolists[0][0]=$Prolist[0][0]
For $i = 1 To $Prolist[0][0]
If StringStripCR($Prolist[$i][0]) <> "" Then
$Winvisible &= "|" & $Prolist[$i][0]
EndIf
$Prolists[$i][0]=$Prolist[$i][0]
$Prolists[$i][1]=$Prolist[$i][1]
Next
Return $Winvisible
EndFunc
func reprint($z)
if $z=1 Then
if $unsichtbare=0 then
$liste= _WinGetVis()
guictrlsetdata($List1,$liste)
Else
$liste= _WinGetHiVis()
guictrlsetdata($List1,$liste)
EndIf
Else
$liste=_Proget()
guictrlsetdata($List2,$liste)
EndIf
guictrlsetdata($Label1,"Tasks: "&$Winlists[0][0]&" Prozesse: "&$Prolists[0][0])
EndFunc
Func gettit()
return guictrlread($List1)
EndFunc
func getnum($tit)
for $x=1 to $Winlists[0][0]
if $tit=$Winlists[$x][0] Then
return $x
EndIf
Next
EndFunc
func Progetnum()
$tit=guictrlread($List2)
for $x=1 to $Winlists[0][0]
if $tit=$Winlists[$x][0] Then
return $x
EndIf
Next
EndFunc