以非管理员身份运行、读取注册表时,提示"不允许所请求的注册表访问权。"

kay338 2017-08-06 06:54:35
1)以管理员身份运行、读取注册表时,顺利通过;
2)以非管理员身份运行、读取注册表时,提示"不允许所请求的注册表访问权。"

请问代码有何问题?.net 4.5

    Private Sub frmMain_Load(ByVal sender As Object, ByVal e As EventArgs) Handles MyBase.Load

'提示信息
Dim strMsg As String = Nothing

Try

'注册表子项
Dim SubKeyName As String = "HKEY_LOCAL_MACHINE\SOFTWARE\TSCU\config.ini" '

'注册码键值
Dim keyValue As String = Class1.ReadRegistry(SubKeyName, False)

If keyValue IsNot Nothing Then

strMsg = String.Format("值为:{0}", keyValue )

End If

Catch ex As Exception

strMsg = String.Format("{0} raised exception:{1}", ex.Source, ex.Message)

End Try

MessageBox.Show(strMsg, "提示", MessageBoxButtons.OK, MessageBoxIcon.Information)

End Sub


<RegistryPermissionAttribute(SecurityAction.PermitOnly, Read:="HKEY_LOCAL_MACHINE\SOFTWARE\TSCU\config.ini")> '
Public Class Class1

'Access the registry.
Public Shared Function ReadRegistry(ByVal SubKeyName As String, ByVal flag As Boolean) As String

'提示信息
Dim strMsg As String = Nothing

Using retkey As RegistryKey = Registry.LocalMachine.OpenSubKey("SOFTWARE\TSCU\config.ini", True)

'返回
Return retkey.GetValue("CDKEY")

End Using

End Function

End Class
...全文
818 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
ttsffgg 2017-09-23
  • 打赏
  • 举报
回复
没有权限就不让写入,这种情况是正常的吧
kay338 2017-08-06
  • 打赏
  • 举报
回复
读取成功了,同样情况,在非管理员运行时,写入注册表失败,求解?
<RegistryPermissionAttribute(SecurityAction.PermitOnly, ViewAndModify:="HKEY_LOCAL_MACHINE\SOFTWARE\TSCU\config.ini")> '
kay338 2017-08-06
  • 打赏
  • 举报
回复
Using retkey As RegistryKey = Registry.LocalMachine.OpenSubKey("SOFTWARE\TSCU\config.ini", True)
修改为:
Using retkey As RegistryKey = Registry.LocalMachine.OpenSubKey("SOFTWARE\TSCU\config.ini", False)

16,553

社区成员

发帖
与我相关
我的任务
社区描述
VB技术相关讨论,主要为经典vb,即VB6.0
社区管理员
  • VB.NET
  • 水哥阿乐
  • 无·法
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧