Versteckte Dateien und Ordner anzeigen



  • Guten Morgen,
    bei CuteFTP werden versteckte Dateien und Ordner angezeigt, obwohl die
    Option unter Ordneroptionen->Ansicht deaktiviert ist. Jetzt würde mich
    interessieren, wie das Prog. die Dateien anzeigt. Gibt es da vielleicht
    ein Flag für CFileDialog? Mit msdn und google hab ich nichts gefunden.

    Gruss Frank



  • Ich weiss zwar nicht wie es bei CuteFTP gemacht wurde. Ich weiss nur dass deine Windows-Einstellungen was die versteckten Dateien etc. betrifft keine Rolle spielen wenn du eine Applikation programmierst. Du kannst nämlich immer selber entscheiden was er anzeigen soll und was nicht. Um das ganz kurz zu testen:

    Erstelle eine Listbox in deinem Dialog und gib ihr ne Membervariable. Wenn du nun Dateien aus einem bestimmten Ordner darin anzeigen möchtest kannst du folgendes machen:

    m_ctlListDir.Dir(DDL_READWRITE | DDL_HIDDEN | DDL_SYSTEM | DDL_ARCHIVE, "C:\\DeinGenauerOrdnerpfad\\*.*");
    

    und schon zeigt er dir alle Dateien aus diesem Ordner an. Gib in der MSDN mal diese verschiedenen DLL_*s ein und lies nach was sie bewirken. Natürlich ist es nicht zwingend dass man es so macht aber dies ist nur ein kurzes Beispiel, dass ihm völlig egal ist was du im Windows eingestellt hast 🙂



  • Die Anzeige auf versteckte onder nicht hat mit dem Auslsen der Dateien nichts zu tun. Das ist ein Filter.
    Genauso bei FTP.



  • Danke Euch, ich werd das mal testen. Ich hätte mir schon fast gedacht,
    das dies nicht mit den Einstellungen im Explorer zusammen hängt. Ich
    hab es zusätzlich noch hingeschrieben, damit nicht einer kommt und sagt,
    ich soll das umstellen. 😉
    Diese Umstellantworten gibt es nämlich zu genüge im web.

    Danke nochmal



  • Die haben halt alle nciht so viel Ahnung wie wir 😃 👍



  • @dEUs da geb ich dir vollkommen Recht. Deswegen hab ich dann doch hier gefragt. 😉

    @BAR ich hab das jetzt mal getestet. Mit einer ListBox funktioniert das super.

    Jetzt frag ich mich nur, wieso ich solche Filter nicht direkt bei
    CFileDialog anwenden kann. Da müsste man also nur wegen den versteckten
    Dateien und Ordnern eine eigene Dialog Klasse schreiben. Ist das nicht
    etwas umständlich, wenn schon eine Klasse wie CFileDialog existiert?
    Oder kann ich auf die vorhandene Klasse CFileDialog aufbauen und Sie
    dementsprechend erweitern?

    Keine Angst, ich möchte keine Lösung, ein Anhaltspunkt würde mir reichen.
    Möchte ja selbst was lernen, nur komm ich derzeit einfach nicht weiter.

    Gruss Frank



  • Ich weiss nicht, ob ich dich richtig verstanden hab:
    Du willst versteckte Dateien in deinem CFileDialog anzeigen, obwohl der User im Explorer das abgeschaltet hat?
    Falls ja, gibt es hierfür, genau wie bei der Listbox ein Flag:

    OFN_FORCESHOWHIDDEN
    Windows 2000/XP: Forces the showing of system and hidden files, thus overriding the user setting to show or not show hidden files. However, a file that is marked both system and hidden is not shown.
    

    Allerdings kann es sein, dass du damit auch nicht alle Dateien angezeigt bekommst, wie du der Erklärung entnehmen kannst.



  • @dEUs da hast du mich genau richtig verstanden. OFN_FORCESHOWHIDDEN hab ich
    auch schon ausprobiert. Meine Zeile schaut dann wie folgt aus.

    CFileDialog fileDlg(TRUE, NULL, NULL, OFN_FILEMUSTEXIST | OFN_FORCESHOWHIDDEN);

    Nur kompiliert er mir das ganze dann nicht.

    error C2065: 'OFN_FORCESHOWHIDDEN': nichtdeklarierter Bezeichner
    

    Was ich auch sehr komisch finde, das ich die komplette msdn installiert hab
    aber ich nichts über OFN_FORCESHOWHIDDEN finde. Bin anscheinend echt zu doof
    zum suchen.

    Hab über google jetzt gelesen, das OFN_FORCESHOWHIDDEN nur bei win2000
    funktionieren soll, was aber nicht stimmen muss.



  • Doch, das stimmt schon, siehe mein Zitat. Da steht nichts von Win9x oder so. Wenn es nur ab Win2k funktioniert musst du in deiner stdafx.h ganz am Anfang ein

    #ifdef _WINVER
    #undef _WINVER
    #endif
    #define _WINVER 0x500
    

    machen, wenn ich mcih richtig erinner.

    Solche Flags findest du nciht über den Index, sondern nur über die Volltextsuche, bzw wenn du weisst wozu sie gehören. Dieses Falg gehört z.B. zur OPENFILENAME-Struktur.



  • Danke, das kompilieren klappt jetzt. Man muss auch erstmal
    auf die Idee kommen, in stdafx.h zu schauen. Da steht es ja sogar drin 😉

    Hab mal einen Ordner und eine Datei versteckt. Da dies keine Systemdateien
    sind, sollten diese angezeigt werden. Werden Sie aber nicht. Naja egal, muss
    ich halt meine Systemeinstellungen ändern, wenn ich eine Datei laden möchte.

    Hab auch selbst nochmal bei msdn.com geschaut.

    OFN_FORCESHOWHIDDEN
    Windows 2000/XP: Forces the showing of system and hidden files, thus overriding the user setting to show or not show hidden files. However, a file that is marked both system and hidden is not shown.

    Es ist zum verzweifeln. Anscheinend klappen die für andere einfachsten Dinge
    bei Anfängern nicht. Selbst wenn ich mich an die Doku halte. Vielleicht bin
    ich ja zu einem Scripter und nicht Programmierer verdammt.

    Danke dir trotzdem nochmal @dEUs, konnte trotzdem was lernen.


Anmelden zum Antworten