我先使用RegOpenKeyExA打开注册表路径并获取HKEY,然后调用RegOpenKeyExA删除该路径下的一个键,但是删除总是失败,返回错误码5。我的系统是win10,关闭了安全防护,并且尝试以管理员身份运行打包好的exe文件,还是出现同样的错误。请告诉我发生了什么事。我要删除的路径是下面的。
HKEY_CURRENT_USER\SOFTWARE\Classes\CLSID\{A491BE35-4E0E-CA55-6FAB-884163D38558}
HKEY hKey;
LONG regOpenResult = RegOpenKeyExA(HKEY_CURRENT_USER, "SOFTWARE\\Classes\\CLSID", 0, KEY_ALL_ACCESS, &hKey);
LONG regDeleteResult = RegDeleteKeyA(hKey, "{A491BE35-4E0E-CA55-6FAB-884163D38558}");
我尝试执行该程序,希望该程序能够删除注册表路径中的数据,但程序返回错误代码5
RegDeleteKeyA
执行失败,返回ERROR_ACCESS_DENIED
,因为路径中还有数据项没有被删除。您需要先删除子项目,然后才能删除父项目。