RegDeleteKey和RegDeleteKeyEx

我正在写一个应用程序,它将使用API RegDeleteKeyRegDeleteKeyExrecursion地删除一些registry项。 什么是困扰我RegDeleteKeyEx没有定义为XP XP 64专业版 ,所以现在这个限制是限制我的应用程序。 有什么办法可以使用这两个API的兼容性从XP x86到Win7 x64?

Solutions Collecting From Web of "RegDeleteKey和RegDeleteKeyEx"

为了使您的应用程序在RegDeleteKeyEx不存在的旧系统中运行,您需要避免静态链接到此API。 也就是说,你不直接使用这个函数,而是通过GetProcAddress在运行时获得它的指针。 如果成功,那么API是可用的,你可以使用它(或者你可以检查操作系统版本)。

看看这里: 我怎样才能使用RegDeleteKeyEx :

  hAdvAPI32 = LoadLibrary(_T("AdvAPI32.dll")); ASSERT(hAdvAPI32 != NULL); _RegDeleteKeyEx = (PFN_RegDeleteKeyEx)GetProcAddress(hAdvAPI32 , "RegDeleteKeyEx"); ASSERT(_RegDeleteKeyEx != NULL); 

RegDeleteKey可以直接使用,因为它存在于所有目标平台中。