WIn32API レジストリキーを削除する RegDeleteKey
レジストリキーを削除するには、RegDeleteKeyEx関数を用いる。
プロトタイプは、以下のとおり。
LONG WINAPI RegDeleteKeyEx( __in HKEY hKey, __in LPCTSTR lpSubKey, __in REGSAM samDesired, __reserved DWORD Reserved );
#include <windows.h> #include <stdio.h> #include <locale.h> int main() { HKEY hKey; LONG lRet; //Unicode文字列を表示させるため setlocale(LC_ALL, setlocale(LC_CTYPE, "")); lRet = RegOpenKeyEx(HKEY_CURRENT_USER, TEXT("test"), 0, KEY_READ, &hKey); if (lRet != ERROR_SUCCESS) { return 1; } lRet = RegDeleteKey(hKey, TEXT("subkey")); if (lRet == ERROR_SUCCESS) { puts("RegDeleteKey succeeded!"); } else { TCHAR szMsg[256]; DWORD dwRet; dwRet = FormatMessage(FORMAT_MESSAGE_FROM_SYSTEM, NULL, lRet, 0, szMsg, sizeof(szMsg)/sizeof(szMsg[0]), NULL); if (dwRet > 0) { _tprintf(TEXT("RegDeleteKey error: %s\n"), szMsg); } else { //FormatMessage was failed. _tprintf(TEXT("RegDeleteKey error\n")); } } RegCloseKey(hKey); return 0; }
http://msdn.microsoft.com/en-us/library/windows/desktop/ms724847(v=vs.85).aspx