プロが教える店舗&オフィスのセキュリティ対策術

RegDeleteKeyについて教えてください

○削除するレジストリHKEY_LOCAL_MACHINE\SOFTWARE\XTSEGRSCESK\AAA

○ソース
Public Const HKEY_LOCAL_MACHINE = &H80000002
Dim lRootKey As Long
Dim sSubKey As String
Dim lRet As Long
lRootKey = HKEY_LOCAL_MACHINE
sSubKey = "SOFTWARE\XTSEGRSCESK\AAA"
lRet = RegDeleteKey(lRootKey, sSubKey)

○結果
RegDeleteKeyの戻り値が2

どこが悪いか教えてください
お願いします

A 回答 (1件)

RedDeleteKeyの引数のSubKeyに"\"を含めることができないということだと思われます。


1つ上のキー(SOFTWARE\XTSEGRSCESK)をRegOpenKeyExで開いて、
それで得られたキーハンドルと"AAA"を引数にRegDeleteKeyを呼べばいいはず。

この回答への補足

ありがとうございます
以下のように修正しました

sSubKey = "SOFTWARE\XTSEGRSCESK"
lRet = RegOpenKeyEx(HKEY_LOCAL_MACHINE, sSubKey, 0, KEY_ALL_ACCESS, lRootKey)
lRet = RegDeleteKey(lRootKey, "AAA")

RegOpenKeyExは正常終了
RegDeleteKeyの戻り値6です

勘違いしていますでしょうか?

補足日時:2005/04/06 15:55
    • good
    • 0
この回答へのお礼

KEY_ALL_ACCESSの宣言を忘れていたので、宣言しましたらRegDeleteKeyの復帰値は2でした

お礼日時:2005/04/06 16:03

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!