Hello,
I've been trying to delete registry keys, including all their subkeys, without resorting to SHDeleteKey (Which isn't directly Windows 95 compatible). So far I've come up with:-
Code:
int DeleteKey(HKEY hKey, char *szSubKey)
{
char szKeyDelete[255];
unsigned long ulSize = 255;
DWORD dwIndex = 0;
HKEY hKeySub;
if (!RegOpenKeyEx(hKey, szSubKey, 0, DELETE | KEY_ENUMERATE_SUB_KEYS, &hKeySub))
{
while (!RegEnumKeyEx(hKeySub, dwIndex, szKeyDelete, &ulSize, NULL, NULL, NULL, NULL))
{
DeleteKey(hKeySub, szKeyDelete);
ulSize = 255;
dwIndex++;
}
RegCloseKey(hKeySub);
RegDeleteKey(hKey, szSubKey);
return TRUE;
}
else
return FALSE;
}
This manages to delete just one of the main subkeys of a key I'm trying to delete.
Is there anything here that might be problematic or wrong that I'm not seeing?