Erstellen von Virtuellen Ordner und Haken Sie Sie in die Datei system
Ich habe eine große Sammlung von Ordnern für Projekte, an denen ich arbeite. Ich habe versucht, einen besseren Weg finden, Sortieren Sie Sie alle für eine lange Zeit, und ich will schreiben eine app, die die Gruppen erstellt, basierend auf was für Kriterien ich sagen, wie "Ordner von 2011" oder "Ordner mit einem x-type der Datei" etc.
Dies ist Recht einfach und würde nicht viel von einem problem zum code mit seiner eigenen Benutzeroberfläche in winForms oder WPF oder so etwas. Aber ich denke, es wäre viel besser, wenn ich könnte diese Ordner angezeigt werden, die Teil des Dateisystems, so dass die anderen apps (wie vorhandene Datei explorers) können Sie sehen.
Ist das möglich? Würde es dazu führen, dass Probleme, die ich noch nicht berücksichtigt? Wie kann ich es tun, wenn es möglich ist?
Einer Weise, die ich dachte, es zu tun wäre, wenn die app überwachen Sie die Dateisystem-und Ordnerverknüpfungen erstellen jedes mal gibt es eine Veränderung, aber ich bin neugierig, ob seine mögliche, um tatsächlich ein fake-Dateisystem-explorer über ein 'gateway' - Ordner
EDIT: Ok es ist natürlich möglich, da http://www.virtualfolder.net/ kann es tun, und jetzt, dass ich denke, so kann TrueCrypt, obwohl es wäre schön, wenn es nicht zu erscheinen, wie ein separates Laufwerk. So wird die Frage, wie kann ich das umsetzen?
- Windows 7 hat diese Funktionalität eingebaut in
Du musst angemeldet sein, um einen Kommentar abzugeben.
Können Sie erstellen,Shell-Namespace Erweiterung, sammelt die Datei Informationen, die Sie wollen, und zeigt ihn im Windows-Explorer, wie Sie möchten. Sie können wählen, wo Ihre Erweiterung befindet sich, als ob seine eigene top-level-Knoten, ein Kind von einem anderen system virtuelle Ordner/Erweiterung oder als Kind von einer Datei-system-Ordner.
Schreiben eines ANS ist nicht trivial, aber es ist viel einfacher, dann schreiben Sie eine untere-level-Datei-system-Treiber, und erfordert keine besonderen Treiber-oriented Compiler. Jeder compiler unterstützt die Entwicklung von COM-Objekten arbeiten.
Erreicht wird dies mithilfe von Dateisystem-Treiber oder Dateisystem-Filtertreiber. Lassen Sie uns zunächst erstellen Sie ein virtuelles Dateisystem und mounten Sie es, um einen Laufwerksbuchstaben zu, und auch in einen Ordner auf einem NTFS-Laufwerk (Ordner muss existieren, aber Ihre Inhalte sind "ersetzt" mit einem virtuellen Dateisystem, Verzeichnisstruktur). Dateisystem-filter-Treiber lassen Sie Sie einführen, virtuelle Dateien und Ordner in bestehende Ordner, ohne Sie zu ersetzen.
VirtualFolder verwendet Dateisystem-Treiber, wie es schafft einen Laufwerksbuchstaben zu.
Beide Arten von Treibern sind in C geschrieben und arbeiten im kernel-Modus. Schreiben Sie erfordert Tiefe Kenntnisse über Windows-Interna und Erfahrung mit der Treiber-Entwicklung (seit Dateisystem-Treiber sind eine der am meisten komplizierten Treiber-Typen).
Bieten wir Ihnen verschiedene Produkte rund um den virtuellen Speicher. Einer von Ihnen, Callback File System ist ein Dateisystem-Treiber. Es fordert Ihre user-mode-code ausführen eigentlichen Dateisystem-Funktionen. Ein weiteres Produkt, CallbackFilter, ist ein FS-filter-Treiber (und es fordert auch Ihre user-mode-code). Jedoch, die aktuelle version von CallbackFilter nicht lassen, Sie einzuführen, virtuelle Dateien und Ordner (dies umgesetzt würde, in der nächsten Version).
Gibt es auch Pismo File Mount Produkt verfügbar ist, verwenden Sie filter driver Techniken. Sie können mit Ihnen zu überprüfen, ob das, was Sie brauchen, erreicht werden kann.
Von dem, was ich sammeln Sie sind auf der Suche nach einem Weg, um die Ergebnisse der vordefinierten Datei-Abfragen zu erscheinen, als ob Sie sich an einer bestimmten Stelle im Datei-system. Wenn das richtig ist möchten Sie vielleicht zu schauen in Hardlinks und Junctions. Es gibt Beschränkungen auf, was Sie tun können, mit diesen Datei-system-services. Allerdings ist es wirklich einfach zu implementieren.