使用VB.net锁定计算机驱动器

时间:2015-08-30 10:54:29

标签: vb.net locking vb.net-2010

我想创建一个项目,通过该项目,我应该能够首先看到我的驱动器,然后选择其中一个以编程方式锁定它们。 可能吗 ? 如果是这样,请回答

2 个答案:

答案 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

第一个锁定目录,另一个解锁它。