Treeview FileExplorer

  • 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?

    Spoiler anzeigen
    [autoit]

    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

    [/autoit]
  • 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)

    Zur Nutzung dieses Forum's, ist ein Übersetzer für folgende Begriffe unerlässlich:

    "On-Bort, weier, verscheiden, schädliges, Butten steyling, näckstet, Parr, Porblem, scripe, Kompletenz, harken, manuel zu extramieren, geckukt, würglich, excell, acces oder Compilevorgeng"

  • 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 !

    AutoIt
    [...]
    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

    86598-musashi-c64-png

    "Am Anfang wurde das Universum erschaffen. Das machte viele Leute sehr wütend und wurde allenthalben als Schritt in die falsche Richtung angesehen."

  • ... aber ich empfehle lieber die "neue" Version ("New_SelectFilesOrFolder.au3" im Post#1 zum download).

    Super, Danke:thumbup:.

    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

    86598-musashi-c64-png

    "Am Anfang wurde das Universum erschaffen. Das machte viele Leute sehr wütend und wurde allenthalben als Schritt in die falsche Richtung angesehen."