检查注册表值
Checking registry value
将以下行添加到验证脚本以检查是否已添加注册表值并获取消息
Error occored while verifying the Registry Value for HKLM\SOFTWARE\OLEforRetail\ServiceOPOS\MSR\REDIRON_MSR
代码如下:
Dim strRegvalue
strRegvalue = g_objShell.RegRead("HKLM\SOFTWARE\OLEforRetail\ServiceOPOS\MSR\REDIRON_MSR\")
If LCase(strRegvalue) = "True" Then
Call WriteToLog("HKLM\SOFTWARE\OLEforRetail\ServiceOPOS\MSR\REDIRON_MSR value verified successfully")
Else
RegSuccessCode = 111
Call WriteToLog("Error occurred while verifying the Registry Value for HKLM\SOFTWARE\OLEforRetail\ServiceOPOS\MSR\REDIRON_MSR")
End If
你能告诉我我哪里做错了吗?
如果您想使用 RegRead
检查注册表项是否存在,您可以通过读取该注册表项的默认值来实现。但是,您必须启用错误处理,因为如果无法读取值(即键不存在),RegRead
将引发错误:
key = "HKLM\SOFTWARE\OLEforRetail\ServiceOPOS\MSR\REDIRON_MSR\"
On Error Resume Next
g_objShell.RegRead key
If Err Then
WScript.Echo key & " does not exist."
Else
WScript.Echo key & " exists."
End If
On Error Goto 0
更好的方法是使用 WMI 注册表方法,例如 EnumKey
:
Set reg = GetObject("winmgmts://./root/default:StdRegProv")
Const HKLM = &h80000002
key = "SOFTWARE\OLEforRetail\ServiceOPOS\MSR\REDIRON_MSR\"
retval = reg.EnumKey(HKLM, key, Null)
If retval = 0 Then
WScript.Echo key & " exists."
Else
WScript.Echo key & " does not exist."
End If
将以下行添加到验证脚本以检查是否已添加注册表值并获取消息
Error occored while verifying the Registry Value for HKLM\SOFTWARE\OLEforRetail\ServiceOPOS\MSR\REDIRON_MSR
代码如下:
Dim strRegvalue
strRegvalue = g_objShell.RegRead("HKLM\SOFTWARE\OLEforRetail\ServiceOPOS\MSR\REDIRON_MSR\")
If LCase(strRegvalue) = "True" Then
Call WriteToLog("HKLM\SOFTWARE\OLEforRetail\ServiceOPOS\MSR\REDIRON_MSR value verified successfully")
Else
RegSuccessCode = 111
Call WriteToLog("Error occurred while verifying the Registry Value for HKLM\SOFTWARE\OLEforRetail\ServiceOPOS\MSR\REDIRON_MSR")
End If
你能告诉我我哪里做错了吗?
如果您想使用 RegRead
检查注册表项是否存在,您可以通过读取该注册表项的默认值来实现。但是,您必须启用错误处理,因为如果无法读取值(即键不存在),RegRead
将引发错误:
key = "HKLM\SOFTWARE\OLEforRetail\ServiceOPOS\MSR\REDIRON_MSR\"
On Error Resume Next
g_objShell.RegRead key
If Err Then
WScript.Echo key & " does not exist."
Else
WScript.Echo key & " exists."
End If
On Error Goto 0
更好的方法是使用 WMI 注册表方法,例如 EnumKey
:
Set reg = GetObject("winmgmts://./root/default:StdRegProv")
Const HKLM = &h80000002
key = "SOFTWARE\OLEforRetail\ServiceOPOS\MSR\REDIRON_MSR\"
retval = reg.EnumKey(HKLM, key, Null)
If retval = 0 Then
WScript.Echo key & " exists."
Else
WScript.Echo key & " does not exist."
End If