Pergunta

Existe uma maneira de emular uma unidade de disco em .NET, interceptando leitura / gravação / operações de bloqueio?
Eu gostaria de criar algo com um front-end semelhante ao GMail Drive em C #.

Obrigado, Tom

Foi útil?

Solução

Eu uso o EldoS Callback do sistema de arquivos mim para este fim, mas apesar de bom, não é exatamente barato.

Existem alguns projetos livres / barato bem, e tenho certeza que um deles foi mencionado em uma pergunta semelhante em tão pouco tempo - não pode encontrá-lo mais no momento, no entanto. Estabilidade tende a ser um grande problema, embora, como drivers sistema de arquivos em camadas do Windows não são triviais.

Outras dicas

No Linux você pode usar a API Mono.Fuse ( http: // www. jprl.com/Projects/mono-fuse.html ) para implementar sistemas de arquivos baseados em .NET com o código do usuário-terra.

Você pode ver como http://www.truecrypt.org/ está fazendo isso. Ele está fazendo exatamente o que quer usando arquivos ou usando uma unidade ou uma partição. E então ele monta o arquivo como se fosse uma verdadeira unidade. Agora, provavelmente, que o código-fonte é um pouco complexa;)

Não realmente, Net fica no topo da funcionalidade OS como o acesso ao disco para dar-lhe coisas como arquivo gerenciado accessors.You poderia escrever tudo isso em C # administrado, mas você precisa de chamadas não gerenciados para fazer o deleite OS-lo como outra unidade.

Todo o material extensão de shell é COM: http: //msdn.microsoft.com/en-us/library/cc147467(VS.85).aspx

Você poderia, no entanto, escrever um aplicativo de desktop Net que permitiu arrastar-gota do explorador e que parecia uma visão do sistema de arquivos.

Você também pode usar EZNamespaceExtension for .NET . Isto dá-lhe a integração com o Windows Explorer. Não muito caro, uma vez que a licença é por desenvolvedor e não distribuição.

Atualizar Grande problema com EZNamespaceExtension.NET. Ele não foi atualizado por um longo tempo. LogicNP parece ter perdido o interesse em EZNamespaceExtension.NET porque não houve um lançamento com o novo um punhado de recursos desde 2010. No .NET suporte 4 e não há suporte para Windows 8 fita barra de ferramentas

Acabei de check-out EZNamespaceExtension for .NET com o link acima. Parece que eles manter-se atualizado quanto lançamento da versão 2013. Mas não tenho certeza de que pode responder à questão de mostrar como uma unidade no explorer.exe (AFAIK. Ele não pode mostrar como letra da unidade)

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top