vbscript - RegRead 函数返回错误值
问题描述
我有一个脚本来读取注册表值。它一直工作到现在,但这次它给了我一个错误的结果
这是实际的注册表值以及以下代码返回的值:
这是我正在使用的代码:
FileExt = "HKEY_CLASSES_ROOT\CLSID\{F02C1A0D-BE21-4350-88B0-
7367FC96EF3C}\ShellFolder\Attributes"
Set Shell = WScript.CreateObject("WScript.Shell")
St = Shell.RegRead(FileExt)
wscript.echo St
解决方案
注册表中的值是一个 32 位无符号整数,但 VBScript 将其解释为一个 32 位有符号整数(参见示例此处)。
要么显示十六进制值:
WScript.Echo Hex(St)
或调整误解的值:
If St < 0 Then St = St + 2^32
WScript.Echo St
推荐阅读
- java - Kadane 算法的实现不适用于特定阵列
- android - 强制 Coil Compose 直接加载记住图像
- python - 更改数组的值,但代码不进入 if else 语句(Python)
- flutter - 在 GridView Flutter 上滚动时加载更多数据
- python - python cpanel smtplib:{}(输出)但不发送电子邮件
- typescript - 缩小类型保护与填充数据库接口的替代类型(例如 Mongoose)?
- c# - 简化 T 为 int 或 List 的方法重载
- c# - 如何为 TcpClient 实现证书固定
- c++ - 为什么 __builtin_parity 是相反的?
- c# - 如何向 GroupJoin 添加条件(或使用多个键)?