disco rígido imitar em .NET
-
02-07-2019 - |
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
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)