1

レジストリ キーとそのサブキーの配列を削除しようとしています。

以下は私のコードです

Function DeleteSubkeys(strKeyPath) 

    Msgbox"DeleteSubkeys starts "   

    Dim strComputer,arrSubkeys
    Const HKEY_LOCAL_MACHINE = &H80000002
    strComputer = "."
    Set objRegistry = GetObject("winmgmts:\\" & _
    strComputer & "\root\default:StdRegProv") 

    objRegistry.EnumKey HKEY_LOCAL_MACHINE, strKeyPath, arrSubkeys 

    If IsArray(arrSubkeys) Then 
        For Each strSubkey In arrSubkeys 
            DeleteSubkeys HKEY_LOCAL_MACHINE, strKeyPath & "\" & strSubkey 
        Next 
    End If 

    objRegistry.DeleteKey HKEY_LOCAL_MACHINE, strKeyPath

    Msgbox"DeleteSubkeys ends "

    DeleteSubkeys= null

End Function

Msgbox"Main starts "
dim Regkey 
Regkey = Array(_
    "SOFTWARE\Wow6432Node\Myproj\test1",_
    "SOFTWARE\Wow6432Node\Myproj\test2"_
)


Msgbox"Outside foreach "
For Each strRegKey IN Regkey
    Msgbox"Inside foreach  "
        DeleteSubkeys strRegKey
Next

Msgbox"Main ends "

しかし、forach 内で呼び出される関数 DeleteSubKeys の呼び出しに失敗します。ここで何が欠けていますか?

4

0 に答える 0