0

我有这个脚本可以在 Windows 2008/Vista 上运行以删除一个注册表项,但我无法让它运行:

Const HKEY_CLASSES_ROOT     = &H80000000
strComputer = "."
strKeyPath = "Installer\Products\334A4D1453680B74CA87BEE6B7E40113" 
Set objRegistry = GetObject("winmgmts:\\" & _
    strComputer & "\root\default:StdRegProv") 
DeleteSubkeys HKEY_CLASSES_ROOT, strKeypath 

Private Sub DeleteSubkeys(HKEY_CURRENT_USER, strKeyPath) 
  strComputer = "."
  Set objRegistry = GetObject("winmgmts:\\" & _
    strComputer & "\root\default:StdRegProv") 

  objRegistry.EnumKey HKEY_CURRENT_USER, strKeyPath, arrSubkeys 
  If IsArray(arrSubkeys) Then 
    For Each strSubkey In arrSubkeys 
        DeleteSubkeys HKEY_CURRENT_USER, strKeyPath & "\" & strSubkey 
    Next 
  End If 

  objRegistry.DeleteKey HKEY_CURRENT_USER, strKeyPath 
End Sub

知道为什么吗?

4

1 回答 1

1

您是否以管理员用户身份运行它?尽管您使用 HKEY_CURRENT_USER 作为参数名称,但您仍试图从 HKEY_CLASSES_ROOT 中删除,这通常需要提升访问权限。

于 2009-02-20T20:53:49.090 回答