我想知道 Win32API 中 RegDeleteKeyValue 和 RegDeleteValue 有什么不同。

最佳答案

RegDeleteValue() 是遗留函数,它已经存在 22 年了。 RegDeleteKeyValue() 是一个附加项,首先在 Vista 上可用。主要版本 6,您必须将 _WIN32_WINNT 宏设置为 0x600 或更高才能使用它。不适用于 Windows XP、Server 2003 或更早版本。

版本 6 改变了几个与注册表相关的函数的行为,否则没有我见过的奇妙的文档化原理。然而,这些变化看起来像是微软试图让它们更不容易被恶意软件利用。 RegDeleteValue() 适合,这是一个相当危险的函数。使用缓冲区溢出重击 hKey 参数,为其提供预定义值之一,例如 HKEY_CURRENT_USER 和被攻击的程序可以立即破坏用户的机器。我想,从未尝试过:)

所以你肯定要考虑 RegDeleteKeyValue()。

关于winapi - RegDeleteKeyValue 和 RegDeleteValue 之间有什么区别?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/28644533/

10-12 21:34