2012-08-14 6 views
0

레지스트리 이름이 인 my_software 키가 있습니다.vC++ 코딩에서 레지스트리 키를 삭제하는 방법

vC++ 코딩에서 삭제하고 싶습니다. enter image description here

CRegKey key; 
LPCSTR lpszKey = "SOFTWARE\\my_software"; 
key.m_hKey = HKEY_LOCAL_MACHINE; 
LONG lRes = key.Open(key.m_hKey, lpszKey); 
LONG err = key.DeleteSubKey(lpszKey); 

나는 코드 ERR이 값 0x00000002을 가지고 디버깅 할 때. 내가 WINERROR.H 파일에보고 그것은 ERROR_FILE_NOT_FOUND

답변

1

을 의미과 같이 :

bool DeleteValueKey(HKEY hKeyRoot, std::string Subkey, std::string ValueKey) 
{ 
    HKEY hKey  = NULL; 
    bool bReturn  = false; 

    if (RegOpenKeyEx(hKeyRoot, Subkey.c_str(), 0, KEY_SET_VALUE , &hKey) == ERROR_SUCCESS) 
    {     
     if (RegDeleteKey(hKey, ValueKey.c_str()) == ERROR_SUCCESS) 
     { 
      bReturn = true; 
     } 
    } 

    if(hKey != NULL){RegCloseKey(hKey);} 

    return bReturn; 
} 
+0

사용법 : DeleteValueKey (HKEY_LOCAL_MACHINE, "소프트웨어 \의 my_software", "폴더"); – pcunite

관련 문제