溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

如何解決VB.NET注冊表權限問題

發(fā)布時間:2021-12-02 11:19:14 來源:億速云 閱讀:198 作者:小新 欄目:編程語言

這篇文章主要介紹如何解決VB.NET注冊表權限問題,文中介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們一定要看完!

本實例需要項目引用:

Imports Microsoft.Win32  '用途 : 注冊表操作  Imports System.Security.AccessControl'用途 : 訪問權限控制

首先,對VB.NET注冊表權限增加,細分起來共有11種可選的權限類型,它們對應的參數(shù)如下:

Select Case ComboBox1.Text  Case "完全控制"  ObjRegRight = RegistryRights.FullControl  Case "查詢數(shù)值"  ObjRegRight = RegistryRights.QueryValues  Case "設置數(shù)值"  ObjRegRight = RegistryRights.SetValue  Case "創(chuàng)建子項"  ObjRegRight = RegistryRights.CreateSubKey  Case "枚舉子項"  ObjRegRight = RegistryRights.EnumerateSubKeys  Case "通知"  ObjRegRight = RegistryRights.Notify  Case "創(chuàng)建鏈接"  ObjRegRight = RegistryRights.CreateLink  Case "刪除"  ObjRegRight = RegistryRights.Delete   Case "寫入DAC"  ObjRegRight = RegistryRights.WriteKey  Case "寫入所有者"  ObjRegRight = RegistryRights.TakeOwnership  Case "讀取控制"  ObjRegRight = RegistryRights.ReadPermissions  End Select

而每個細分權限 又分"允許"和"拒絕"兩種訪問控制類型

Select Case ComboBox2.Text  Case "允許"  ObjRegAccess = AccessControlType.Allow  Case "拒絕"  ObjRegAccess = AccessControlType.Deny  End Select

以下為增加VB.NET注冊表權限的函數(shù)

以下兩函數(shù)中 Account代表系統(tǒng)nt帳戶  Rights和ControlType分別為上文提及的權限類型和訪問控制類型

Private Sub AddRegistrySecurity(ByVal Str_FileName As String, ByVal Account As String, ByVal Rights As RegistryRights, ByVal ControlType As AccessControlType)  Dim RegKey As RegistryRegistryKey = Registry.CurrentUser.CreateSubKey("此處填寫具體鍵地址")  Dim RegkeyAcl As RegistrySecurity = RegKey.GetAccessControl()  Dim AccessRule As RegistryAccessRule = New RegistryAccessRule(Account, Rights, ControlType)  RegkeyAcl.AddAccessRule(AccessRule)  RegKey.SetAccessControl(RegkeyAcl)  RegKey.Close()  End Sub

以下為移除注冊表鍵權限的函數(shù)

Private Sub RemoveRegistrySecurity(ByVal Str_FileName As String, ByVal Account As String, ByVal Rights As RegistryRights, ByVal ControlType As AccessControlType)  Dim RegKey As RegistryRegistryKey = Registry.CurrentUser.CreateSubKey("此處填寫具體鍵地址")  Dim RegkeyAcl As RegistrySecurity = RegKey.GetAccessControl()  Dim AccessRule As RegistryAccessRule = New RegistryAccessRule(Account, Rights, ControlType)  RegkeyAcl.RemoveAccessRule(AccessRule)  RegKey.SetAccessControl(RegkeyAcl)  RegKey.Close()  End Sub

以上是“如何解決VB.NET注冊表權限問題”這篇文章的所有內(nèi)容,感謝各位的閱讀!希望分享的內(nèi)容對大家有幫助,更多相關知識,歡迎關注億速云行業(yè)資訊頻道!

向AI問一下細節(jié)

免責聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權內(nèi)容。

AI