- Offizieller Beitrag
Es gibt noch eine neue Version. Einen kleinen Bug beseitigt und die Übernahme der Explorer-Einstellungen (versteckte Dateien und Systemdateien anzeigen/verstecken).
Neue Version in Post#1.
Es gibt noch eine neue Version. Einen kleinen Bug beseitigt und die Übernahme der Explorer-Einstellungen (versteckte Dateien und Systemdateien anzeigen/verstecken).
Neue Version in Post#1.
Absolut geil!
Hi Oscar!
Lg Kleiner
Kleinen Bug behoben! Neue Version in Post#1.
Danke für den Hinweis, Kleiner!
Hallo Oscar,
erstmal vorab, tolle Funktion!
Gibts ne Möglichkeit noch nen Parameter einzufügen, womit man schalten kann, ob Dateien mit angezeigt werden oder nicht?
Ich hab es jetzt geschafft, dass er die Dateien nicht mit anzeigt. Ist das denn soweit alles richtig?
Func _GUICtrlTreeView_FileExplorer($hTreeview, $hITEM, $sPath)
Local $sFolderList, $aDirList, $hSearch, $sFile
Local $iHidden = RegRead('HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\Advanced', 'Hidden') - 1
Local $iSuperHidden = Not RegRead('HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\Advanced', 'ShowSuperHidden')
$hSearch = FileFindFirstFile($sPath & $Delim & '*')
If $hSearch = -1 Then Return True
Do
$sFile = FileFindNextFile($hSearch)
If @error Then ExitLoop
If @extended Then
If _IsReparsePoint($sPath & $Delim & $sFile) Then ContinueLoop
$sFolderList &= $sFile & $Delim1
EndIf
Until False
FileClose($hSearch)
If $sFolderList = '' Then Return True
$aDirList = StringSplit(StringTrimRight($sFolderList, 1), $Delim1, 2)
For $sFile In $aDirList
If StringInStr(FileGetAttrib($sPath & $Delim & $sFile), 'D') Then
_GUICtrlTreeView_AddChild($hTreeview, $hITEM, $sFile, 0, 1)
Else
_GUICtrlTreeView_AddChild($hTreeview, $hITEM, $sFile, 2, 2)
EndIf
Next
Return True
EndFunc ;==>_GUICtrlTreeView_FileExplorer
Ich hab es jetzt geschafft, dass er die Dateien nicht mit anzeigt. Ist das denn soweit alles richtig?
Ja, sieht richtig aus.
Hallo,
der Thread ist zwar schon älter aber das Programm ist einfach super.
Meine Frage gibt es die Möglichkeit den Baum
a) entweder erst ab einem bestimmten Verzeichniss anzeigen zu lassen
oder
b) einen Pfad zu einem Vorschlagsordner bereits expandiert zu bekommen.
ich hab zwar schon ein wenig herumexperimentiert, jedoch nicht zum ziel gekommen.
Es wäre echt nett wenn mir jemand weiter helfen könnte.
Schau mal in mein Tool 'AKrypto' (LINK).
Ich nutze dort nur einen Unterordner unterhalb des @ScriptDir als Basis. (Siehe Zeile: 166, 211-213)
Hi Oscar !
Vorab :
Dass der Thread knapp 10 Jahre alt ist, sehe ich selbst. Das Skript wurde aber gerade erst im Forum angesprochen/empfohlen, und ich weiß ja, dass Du da bist .
Fehler ? :
Wenn ich das Skript kompiliere, dann erhalte ich :
"C:\AutoIt\Projekte\Testprogramme\_GUICtrlTreeView_FileExplorer.au3" (128) : ==> Error in expression.:
Dim Static $K32 = DllOpen('kernel32.dll')
Dim ^ ERROR
->11:26:58 AutoIt3.exe ended.rc:1
Ersetzt man :
Dim Static $K32 = DllOpen('kernel32.dll')
mit :
Local Static $K32 = DllOpen('kernel32.dll')
dann geht es !
[...]
Func _IsReparsePoint($FLS) ; progandy
;~ Dim Static $K32 = DllOpen('kernel32.dll')
Local Static $K32 = DllOpen('kernel32.dll')
[...]
(mein System : Win 7 Pro 64 Bit , AutoIt : 3.3.14.0)
Gruß Musashi
Musashi : Ja, den Fehler kann ich nachvollziehen. Damals war das mit Dim noch ok, aber mittlerweile sollte man das ganz vermeiden.
Wer die alte Version noch benutzen will, kann das ja ändern, aber ich empfehle lieber die "neue" Version ("New_SelectFilesOrFolder.au3" im Post#1 zum download).
... aber ich empfehle lieber die "neue" Version ("New_SelectFilesOrFolder.au3" im Post#1 zum download).
Super, Danke.
Zusätzliche Info an andere User :
Wer eine AutoIt-Version vor 3.3.14.3 (also 3.3.14.0 bis 3.3.14.2 - ältere habe ich nicht geprüft) betreibt, der sollte folgende Includes auskommentieren :
#include <WinAPIConv.au3>
#include <WinAPIIcons.au3>
und
#include <WinAPI.au3>
einfügen.
Gruß Musashi