vb.net - 如何以字节为单位读取注册表值
问题描述
我正在尝试做一些事情来定期清理我的注册表,并且在某个时候,我需要读取一个注册表项的值,并且它在那里我遇到了问题。该值以字节(十六进制)为单位,我无法读取。这是我的代码:
'function that i'm using to check if registry value exists and read it...
Public Function RegValue(ByVal Hive As RegistryHive, ByVal Key As String, ByVal ValueName As String, ByRef ErrInfo As String) As String
Dim objParent As RegistryKey
Dim objSubkey As RegistryKey
Dim sAns As String
Select Case Hive
Case RegistryHive.ClassesRoot
objParent = Registry.ClassesRoot
Case RegistryHive.CurrentConfig
objParent = Registry.CurrentConfig
Case RegistryHive.CurrentUser
objParent = Registry.CurrentUser
Case RegistryHive.DynData
objParent = Registry.DynData
Case RegistryHive.LocalMachine
objParent = Registry.LocalMachine
Case RegistryHive.PerformanceData
objParent = Registry.PerformanceData
Case RegistryHive.Users
objParent = Registry.Users
End Select
Try
objSubkey = objParent.OpenSubKey(Key)
'if can't be found, object is not initialized
If Not objSubkey Is Nothing Then
sAns = (objSubkey.GetValue(ValueName))
End If
Catch ex As Exception
ErrInfo = ex.Message
Finally
'if no error but value is empty, populate errinfo
If ErrInfo = "" And sAns = "" Then
ErrInfo = "No value found for requested registry key"
End If
End Try
Return sAns
End Function
' Button click that tries to read the value
Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
Dim sAns As String
Dim sErr As String = ""
sAns = RegValue(RegistryHive.ClassesRoot, "Local Settings\Software\Microsoft\Windows\Shell\BagMRU\0\0\0\0\2\0\0\0\0\0", "0", sErr)
If sAns <> "" Then
MsgBox("Value = " & sAns)
Else
MsgBox("This error occurred: " & sErr)
End If
End Sub
当我运行它并尝试读取值时,我收到以下消息:
“发生了这个错误:类型'Byte()'到类型'String'的转换无效。”
我正在尝试读取注册表值的图像:
如果有人可以提供帮助,我将不胜感激。
解决方案
推荐阅读
- python - Python - 尝试替换包含“”的文本字符串
- c++ - 平面/射线交点与点/平面投影的差异
- r - 在 R 中一次运行多个条件
- logstash - Lagstash 时间戳 dateparseerror
- acumatica - 为什么我的自动编号设置不起作用?
- arrays - 在 Angular 中做一个动态过滤器
- c - 函数调用后结构指针值不变
- laravel - 如何将“127.0.0.1:8000 / localhost:8000”更改为我想要的网址。(拉拉维尔)
- django - Django rest-auth 令牌认证
- .net - asp.net core 2.1 中的 SharedResource 本地化和简单注入器