WIn32API レジストリエントリを削除する RegDeleteValue

レジストリエントリを削除するには、RegDeleteValue関数を用いる

LONG RegDeleteValue(
  HKEY hKey,            // キーのハンドル
  LPCTSTR lpValueName   // レジストリエントリ名
);


  • 例として、以下の図ように「HKEY_CURRENT_USER\test」にセットしてあるエントリ「Value」を削除する





  • #include <windows.h>
    #include <stdio.h>
    
    int main()
    {
        HKEY hKey;
    
        //レジストリキー 「HKEY_CURRENT_USER\test」 をオープン
        if (RegOpenKeyEx(HKEY_CURRENT_USER, TEXT("test"), 0, KEY_SET_VALUE, &hKey) != ERROR_SUCCESS) {
            puts("RegOpenKeyEx error");
            return 1;
        }
        
        if (RegDeleteValue(hKey, TEXT("Value")) == ERROR_SUCCESS) {
            puts("RegDeleteValue succeeded");
        } else {
            puts("RegDeleteValue error");
        }
    
        RegCloseKey(hKey);
    
        return 0;
    }


  • 参考

  • http://msdn.microsoft.com/ja-jp/library/cc429908.aspx