Ich habe ein Problem mit einem stück code aus meinem programm, genauer gesagt einer funktion
nehmen wir mal einfach ein vorgang als beispiel
[autoit]#include <File.au3>
[/autoit][autoit][/autoit][autoit]$windir = EnvGet("WINDIR") & "\"
$files_tempwin = _FileListToArray($windir & "temp\", "*.*")
If @error <> 4 Then
For $i = 1 to $files_tempwin[0]
If StringInStr(FileGetAttrib($windir & "temp\" & $files_tempwin[$i]), "D") >= 1 Then
DirRemove($windir & "temp\" & $files_tempwin[$i], 1)
Else
FileDelete($windir & "temp\" & $files_tempwin[$i])
EndIf
Next
EndIf
hier wird werden alle dateien des tempverzeichnisses im systempfad gelistet und dann, wenn dateien vorhanden sind unterschieden ob dateien oder ordner damit ich den kompletten temp leeren kann
dies sowie der rest funktioniert einwandfrei, wenn nicht noch eine funktion hinzukommt
ich aktiviere mit
[autoit]AdlibEnable("_prozent", 100)
[/autoit]meine funktion
[autoit]Func _prozent()
$size = 0
$size = $size + DirGetSize($windir & "$hf_mig$\")
$size = $size + DirGetSize($windir & "ServicePackFiles\")
$size = $size + DirGetSize($windir & "Prefetch\")
$size = $size + DirGetSize($windir & "Driver Cache\i386\")
$size = $size + DirGetSize($windir & "system32\dllcache\")
$size = $size + DirGetSize($windir & "SoftwareDistribution\Download\")
$size = $size + DirGetSize("C:\temp\")
$size = $size + DirGetSize($windir & "temp\")
$size = $size + DirGetSize($userdir & "temp\")
$size = $size + DirGetSize($userdir & "Lokale Einstellungen\temp\")
$size = $size / 1024^2
$unterschied = $dir_size[12] - $size
$prozent = StringFormat("%.2f", Round(($unterschied / $dir_size[12]) * 100, 2))
GUICtrlSetData($lb_prozent, $prozent & " %")
EndFunc
und wenn ich das tue, hängt sich mein programm nach kurzer zeit auf (cpu auslastung 90-100 %)
ich verstehe das nicht, was mache ich falsch?