用Visual Studio 6.0 写了,运行之后也没告警没报错,但是结果就是删除不了那个键(.net framework),各种调试各种百度,还是没懂是哪出了问题,所以发帖请教一下各位前辈,希望各位能帮我解惑,万分感激!
代码如下:
#include "stdafx.h"
#include "windows.h"
#include "malloc.h"
int _tmain(int argc, _TCHAR* argv[])
{
HKEY hKey;
LPCTSTR SubKey = "SOFTWARE\\Microsoft\\.NETFramework\\v2.0.50727";
if (RegOpenKeyEx (HKEY_LOCAL_MACHINE,SubKey,0,KEY_ALL_ACCESS,&hKey) !=
ERROR_SUCCESS)
{
printf ("RegOpenKeyEx错误");
return 0;
}
if (ERROR_SUCCESS == RegDeleteKey(HKEY_LOCAL_MACHINE,"SOFTWARE\\Microsoft\\.NETFramework\\v2.0.50727"))
{
printf ("删除子键成功!\n");
}
else
{
printf ("删除子键失败!\n");
RegCloseKey (hKey);
return 0;
}
RegCloseKey (hKey);
}
运行结果是 删除子键失败。。。
2 个解决方案
#1
你这个RegDeleteKey用到hKey了吗?
#2
被删除的键值不能有子项。删除的一个键值和所有其子项,您需要枚举子项,并单独删除他们。删除键递归,使用 RegDeleteTree 或 SHDeleteKey 函数。
http://baike.baidu.com/link?url=ghN2f56oyKOXZfZ2IRDuphmC0erntokbGgy0Q3N6wmfp9iG3rboaYh0eqllA5S4edi1LF5TrJUPum94UUazt1K
*****************************************************************************
签名档: http://feiyun0112.cnblogs.com/
http://baike.baidu.com/link?url=ghN2f56oyKOXZfZ2IRDuphmC0erntokbGgy0Q3N6wmfp9iG3rboaYh0eqllA5S4edi1LF5TrJUPum94UUazt1K
*****************************************************************************
签名档: http://feiyun0112.cnblogs.com/
#1
你这个RegDeleteKey用到hKey了吗?
#2
被删除的键值不能有子项。删除的一个键值和所有其子项,您需要枚举子项,并单独删除他们。删除键递归,使用 RegDeleteTree 或 SHDeleteKey 函数。
http://baike.baidu.com/link?url=ghN2f56oyKOXZfZ2IRDuphmC0erntokbGgy0Q3N6wmfp9iG3rboaYh0eqllA5S4edi1LF5TrJUPum94UUazt1K
*****************************************************************************
签名档: http://feiyun0112.cnblogs.com/
http://baike.baidu.com/link?url=ghN2f56oyKOXZfZ2IRDuphmC0erntokbGgy0Q3N6wmfp9iG3rboaYh0eqllA5S4edi1LF5TrJUPum94UUazt1K
*****************************************************************************
签名档: http://feiyun0112.cnblogs.com/