通过 VBScript 检查二进制注册表值是不是存在

Posted

技术标签:

【中文标题】通过 VBScript 检查二进制注册表值是不是存在【英文标题】:Check if a binary registry value exists via VBScript通过 VBScript 检查二进制注册表值是否存在 【发布时间】:2011-12-08 09:40:37 【问题描述】:

我有一个代码可以检查注册表项值是否存在。它仅适用于非二进制值,如果目标路径是二进制值,则它无法检查它并会告诉密钥不存在。

代码如下:

Const HKEY_CURRENT_USER = &H80000001

strComputer = "."
Set objRegistry = GetObject("winmgmts:\\" & _ 
    strComputer & "\root\default:StdRegProv")

strKeyPath = "System\CurrentControlSet\Control\Stranger"
strValueName = "TargetBinaryKey"
objRegistry.GetStringValue HKEY_CURRENT_USER,strKeyPath,strValueName,strValue

If IsNull(strValue) Then
WScript.Echo "The Key Does Not Exists."
Else
WScript.Echo "The Key Exists."
End If

我该怎么办?

【问题讨论】:

【参考方案1】:

您应该使用.enumValues 而不是.GetStringValue。你可以找到code snippet here

另外:如果你知道正手的值为stored as binary,你也可以使用GetBinaryValue

【讨论】:

感谢您的回复 AutomatedChaos。它运作良好。干得好;)

以上是关于通过 VBScript 检查二进制注册表值是不是存在的主要内容,如果未能解决你的问题,请参考以下文章

如何通过VBscript检查MS Access中是不是存在表

如何使用 C# 检查注册表值是不是存在?

VBScript - 在 SQL Server 中将 SHA1 存储为数字或二进制值

vbscript 阅读Windows注册表和Echo值

vbscript 使用StdRegProv类通过VBScript调用WMI注册表,但未指定体系结构

检查文件夹中是不是存在任何文件(VBScript)