Vbscript 通过VBS删除行尾有空格的注册表项

Vbscript 通过VBS删除行尾有空格的注册表项,vbscript,registry,whitespace,Vbscript,Registry,Whitespace,似乎reg delete不适用于末尾有空格的键。我正在尝试删除带有空格的键,例如: "HKCU\Software\Microsoft\Sample " 有人知道如何删除这个吗?我已经使用replace和trim函数在没有空间的情况下转换注册表,但很遗憾,我无法让它工作 RegDeleteKey "Software\Microsoft\Windows\CurrentVersion\Internet Settings\ZoneMap\Domains\samplekey ", "TMPUSER"

似乎
reg delete
不适用于末尾有空格的键。我正在尝试删除带有空格的键,例如:

"HKCU\Software\Microsoft\Sample "
有人知道如何删除这个吗?我已经使用replace和trim函数在没有空间的情况下转换注册表,但很遗憾,我无法让它工作

RegDeleteKey "Software\Microsoft\Windows\CurrentVersion\Internet Settings\ZoneMap\Domains\samplekey ", "TMPUSER"

Function SetKeys(SID)
    RegDeleteKey "Software\Microsoft\Windows\CurrentVersion\Internet Settings\ZoneMap\Domains\sampleykey ", SID
End Function

Sub RegDeleteKey(KeyPath, Mode)
    Dim CMD

    If Mode = "TMPUSER" Then
        KeyPath = "TMPUSER\" & KeyPath
    Else
        KeyPath = Mode & "\" & KeyPath
    End if

    CMD = "REG DELETE " & chr(34) & "HKEY_USERS\" & KeyPath & chr(34) & " /f"

    objshell.Run CMD, 0, True   
End Sub

根本不需要使用
reg.exe
。这个有一个。文件说:

通过以最后一个反斜杠结束
strName
来指定键名;禁用该选项可指定值名称

所以


请演示如何删除密钥(一段脚本)?@duDE我已经包含了一些用于删除密钥的脚本,它实际上删除了一个在行尾没有空格的密钥。
Dim Shell: Set Shell = CreateObject("WScript.Shell")


If TryRegDelete("HKCU\Software\Microsoft\Sample \") Then
    WScript.Echo "Success!"
Else
    WScript.Echo "Could not delete key."
End If

Function TryRegDelete(strName)
    On Error Resume Next
    Shell.RegDelete(strName)

    TryRegDelete = Err.Number = 0
    On Error GoTo 0
End Function