Eine extra GUI bräuchtest du dazu nicht. Du hast doch schon den richtigen Ansatz mit
[autoit]_FileListToArray($Path_s,"*",1)
[/autoit]
Die 1 kannst du ja variabel halten (1 = Nur Dateien ; 2 = Nur Ordner) und je nachdem ausgeben.
Die _refreshIni könnte dann so aussehen:
;=========Die .ini erneuern========;
Func _refreshIni($iFlag)
If $iFlag = 1 OR $iFlag = 0 Then
$Files_a = _FileListToArray($Path_s,"*",$iFlag)
If IsArray($Files_a) Then
$ClipGet = _ArrayToString($Files_a)
If IniRead("C:\AutoIt\Test.ini","Allgemein","Dateien","not found") <> $ClipGet Then
IniWrite("C:\AutoIt\Test.ini","Allgemein","Dateien",$ClipGet)
If $iFlag = 1 Then
MsgBox($MB_ICONINFORMATION,"Info!","Datei wurde hinzugefügt")
Else
MsgBox($MB_ICONINFORMATION,"Info!","Ordner wurde hinzugefügt")
EndIf
EndIf
Else
MsgBox($MB_ICONERROR,"Error!","_refreshIni mit falschem Parameter aufgerufen (0 oder 1)!")
EndIf
EndFunc
(auch wieder nicht getestet)
Die MsgBox erscheint aber bei jeder(!) neuen Datei. Evtl. musst du die Funktion um ein Flag/Returnvalue erweitern, der auf Änderung überprüft und nachdem alles verändert wurde angibt, dass sich etwas verändert hat.
Und wegen dem entfernen einfach dich in die IniDelete einlesen (geht analog zu IniWrite).