vb.net - Windows 注册表 DWORD 在 GetValue 上返回 -1
问题描述
首先,如果这是重复的,我深表歉意——我不敢相信我是第一个需要问这个问题的人,但我找不到现有的答案(在这里或在谷歌上)。
我正在尝试使用以下 VB.Net 代码读取注册表项的值(请原谅任何不合理的格式和幻数;这只是快速而肮脏的测试代码):
Module modMain
Private Const REG_KEY As String = "HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\WebClient\Parameters"
Private Const REG_VALUE As String = "FileSizeLimitInBytes"
Sub Main()
Dim strReturn As String = ""
Dim lngNumBytes As Long = 0
strReturn = My.Computer.Registry.GetValue(REG_KEY, REG_VALUE, "-99")
Console.WriteLine("Bytes: " & strReturn.ToString())
Console.WriteLine("Current registry value: " & (CDbl(strReturn) / 1048576).ToString() & " (MB)")
Console.ReadKey()
End Sub
End Module
输出如下:
字节:-1
当前注册表值:-9.5367431640625E-07 (MB)
我尝试获取该键中其他条目的 DWORD 值,它们都正确返回。唯一的区别是本例中的值非常大:4,294,967,295(其他 DWORD 值介于 0 和 1,000,000 之间)。我尝试使用各种数据类型来接受返回值(Int64、Int32、Double、Long 和 Object),但它们要么完全失败,要么返回 -1。
我究竟做错了什么?
谢谢。
解决方案
推荐阅读
- python-3.x - 预期输出 python3.x 未返回总排序
- firebase - Firebase 功能已部署,但未生成日志且未响应 onCreate() 事件触发
- javascript - Jquery在文档加载时获取动态元素
- python - 如何使用 MFRC522 检测已移除的卡
- webpack - 如何只禁用“no-throw-literal”webpack 警告?
- amazon-dynamodb - 写分片可以防止所有热分区键的情况吗?
- javascript - 我收到了这个错误: SyntaxError: Unexpected end of input; 我的 cookie 创建代码有什么问题?
- python - 在 jupyter notebook 中显示 scikit 决策树图
- python - IndentationError: unindent 不匹配 python 中的任何外部缩进级别
- c# - 如何更新 DDD 中的聚合子项?