我想创建一个项目,通过该项目,我应该能够首先看到我的驱动器,然后选择其中一个以编程方式锁定它们。 可能吗 ? 如果是这样,请回答
答案 0 :(得分:0)
您可以使用DriveInfo.GetDrives()
。
你想如何锁定它们?如果要对文件夹进行编码,请查看https://stackoverflow.com/a/2302028/3905529
在没有加密的情况下锁定设备或文件夹是不可靠的,因为在这种情况下数据不会锁定在另一台PC上。
答案 1 :(得分:0)
我测试了从http://www.mindfiresolutions.com/How-to-Lock-And-Unlock-a-Folder-through-Code-in-VBNET-2310.php中提取的以下代码。首先,您必须提供一种方法来选择要锁定的目录,在显示的情况下,使用了folderbrowserdialog。
Private Sub Button1_Click(sender As System.Object, e As System.EventArgs) Handles btnBrowse.Click
Try
If FolderBrowserDialog1.ShowDialog = Windows.Forms.DialogResult.OK Then
TextBox1.Text = FolderBrowserDialog1.SelectedPath
End If
Catch ex As Exception
MsgBox(ex.Message)
End Try
End Sub
然后我创建了两个按钮来锁定和解锁其路径在之前由上述函数写入文本框中的目录。
Private Sub Button2_Click(sender As System.Object, e As System.EventArgs) Handles btnLock.Click
Dim fs As FileSystemSecurity = File.GetAccessControl(TextBox1.Text)
fs.AddAccessRule(New FileSystemAccessRule(Environment.UserName, FileSystemRights.FullControl, AccessControlType.Deny))
File.SetAccessControl(TextBox1.Text, fs)
End Sub
Private Sub btnUnlock_Click(sender As System.Object, e As System.EventArgs) Handles btnUnlock.Click
Dim fs As FileSystemSecurity = File.GetAccessControl(TextBox1.Text)
fs.RemoveAccessRule(New FileSystemAccessRule(Environment.UserName, FileSystemRights.FullControl, AccessControlType.Deny))
File.SetAccessControl(TextBox1.Text, fs)
End Sub
第一个锁定目录,另一个解锁它。