Domanda

Esiste un modo per emulare un'unità disco in .NET, intercettando le operazioni di lettura / scrittura / blocco?
Vorrei creare qualcosa con un front-end simile a GMail Drive in C #.

Grazie, Tom

È stato utile?

Soluzione

Uso Eldos Callback File System per questo scopo, ma sebbene sia buono, non è esattamente a buon mercato.

Ci sono anche alcuni progetti gratuiti / economici e sono sicuro che uno di questi sia stato menzionato di recente in una domanda simile su SO - al momento non riesco a trovarlo più. La stabilità tende ad essere un grosso problema, tuttavia, poiché i driver di file system Windows a strati non sono banali.

Altri suggerimenti

Su Linux è possibile utilizzare l'API Mono.Fuse ( http: // www. jprl.com/Projects/mono-fuse.html ) per implementare file system basati su .NET con codice di terra dell'utente.

Potresti vedere come http://www.truecrypt.org/ . Lo sta facendo esattamente utilizzando i file o utilizzando un'unità o una partizione. E quindi monta il file come se fosse un disco reale. Ora, probabilmente il codice sorgente è un po 'complesso;)

Non proprio, .Net si trova in cima alle funzionalità del sistema operativo come l'accesso al disco per darti cose come accessori di file gestiti. Potresti scrivere tutto in C # gestito, ma avresti bisogno di chiamate non gestite per far sì che il sistema operativo lo tratti come un'altra unità.

Tutto ciò che riguarda l'estensione della shell è COM: http: //msdn.microsoft.com/en-us/library/cc147467(VS.85).aspx

Tuttavia, potresti scrivere un'app desktop .Net che ha permesso il trascinamento da explorer e che sembrava una vista del file system.

Puoi anche utilizzare EZNamespaceExtension for .NET . Questo ti dà l'integrazione con Windows Explorer. Non troppo costoso dato che la licenza è per sviluppatore e non per distribuzione.

Aggiorna Grande problema con EZNamespaceExtension.NET. Non è stato aggiornato per molto tempo. LogicNP sembra aver perso il loro interesse per EZNamespaceExtension.NET perché non esiste una versione con nuove funzionalità dal 2010. Nessun supporto .NET 4 e nessun supporto per la barra degli strumenti della barra multifunzione di Windows 8

Ho appena verificato EZNamespaceExtension per .NET con il link sopra. Sembra che si tengano aggiornati come versione 2013. Ma non sono sicuro che possa rispondere alla domanda di Visualizzazione come unità in Explorer.exe (AFAIK. Non può essere visualizzata come lettera di unità)

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top