如何通过C#以编程方式保护硬盘?
就像用户想要打开硬盘一样,首先他/她必须提供密码才能访问它。如果密码错误,则该用户将隐藏硬盘..
答案 0 :(得分:2)
如果您在使用C#编写的应用程序中尝试执行此操作:
获取逻辑驱动器:
string[] drives = Directory.GetLogicalDrives();
同时检查一下: http://www.experts-exchange.com/Programming/Languages/C_Sharp/Q_23825199.html
http://bytes.com/topic/c-sharp/answers/276247-get-drive-letter-win32_diskdrive
您需要进一步扩展。将驱动器号与密码相关联并将其保存在某处。如果输入的密码正确,请显示该驱动器,因为您已有一个列表/数组。 (注意我现在写这篇文章还为时过早,我感冒了 - 但这很简单)。
您有驱动器列表,检查密码以查看是否可以看到驱动器,如果有,请让他们看到。
如果您试图限制整个Windows系统根据密码显示驱动器号,我会说不要使用C#。这是一个Windows安全问题。
我建议阅读abot MS Group Policies。本文可以帮助您: http://support.microsoft.com/kb/231289
答案 1 :(得分:1)
我不认为这可以透明地完成(您可以使用任何程序访问该文件)并且安全地(即,磁盘实际上是加密的,而不仅仅是从shell中隐藏)在C#中(在Windows上,而不是在Singularity)。要动态解密磁盘,您需要一个内核模式驱动程序。你不能在.NET中写这个。