我定义了如下两个函数
BOOL CRegistry::Open(LPCTSTR lpSubKey)
{
ASSERT(m_hKey);
ASSERT(lpSubKey);
    
HKEY hKey;
long lReturn=RegOpenKeyEx(m_hKey,lpSubKey,0L,KEY_ALL_ACCESS,&hKey);
    
if(lReturn==ERROR_SUCCESS)
{
        m_hKey=hKey;
return TRUE;
}
return FALSE;

}BOOL CRegistry::DeleteKey(HKEY hKey, LPCTSTR lpSubKey)
{
ASSERT(hKey);
ASSERT(lpSubKey);

long lReturn=RegDeleteValue(hKey,lpSubKey);

if(lReturn==ERROR_SUCCESS)
return TRUE;
return FALSE;

}
之后我打算删除注册表的一个子键,我用了如下代码:
CRegistry reg;
BOOL bReturn;
bReturn=reg.Open ("Software\\eSX\0");
bReturn=reg.DeleteKey(HKEY_LOCAL_MACHINE,"Software\\eSX\\name\0");即我要删除HKEY_LOCAL_MACHINE\Software\eSX下的name子键。
但是,我无法删除,每次都是False。我把reg.DeleteKey(HKEY_LOCAL_MACHINE,"Software\\eSX\\name\0");改为
reg.DeleteKey(HKEY_LOCAL_MACHINE,"name");
一样不行~,不知道我错在哪里了?谢谢