VBscript RegRead总是失败 - 我做错了什么?

时间:2013-10-15 04:28:39

标签: vbscript

以下VBscript代码总是无法在本地注册表中找到指定的密钥,即使它肯定存在。我究竟做错了什么?我正在运行32位XP Pro / SP3。

Dim winShell
Set winShell = CreateObject("WScript.Shell")
If regKeyExists(winShell, "HKCU\Software\Microsoft\Windows\CurrentVersion\Run\ProgName\") Then
    wscript.echo "ProgName key found"
Else
    wscript.echo "Key not found!"
End If
Set winShell = Nothing

Function regKeyExists (winObj, key)
    On Error Resume Next
    regKeyExists = True
    Err.Clear
    winObj.RegRead(key)
    If Err <> 0 Then regKeyExists = False
    Err.Clear
End Function

输出ALWAYS读取“Key not found!”,即使密钥存在也是如此。我很难过!

1 个答案:

答案 0 :(得分:3)

您确定您实际上在寻找吗?通常Run键包含REG_SZ或REG_EXPAND_SZ 以在登录时自动启动程序。

检查在ProgName之后删除反斜杠来更改代码以查找值ProgName时会发生什么:

If regKeyExists(winShell, "HKCU\Software\Microsoft\Windows\CurrentVersion\Run\ProgName") Then
  ...