1

如果我打电话,无论成功还是只有成功,RegOpenKeyEx()我都必须要钥匙吗?RegCloseKey()RegOpenKeyEx()RegOpenKeyEx()

那是:

lRes = RegOpenKeyExW(HKEY_CURRENT_USER, L"SOFTWARE\\Microsoft\\Windows\\CurrentVersion\\Run", 0, KEY_READ, &hKey);

   if(lRes == ERROR_SUCCESS)
   {
       //doSomething
   }
   RegCloseKey(hKey);

或者:

lRes = RegOpenKeyExW(HKEY_CURRENT_USER, L"SOFTWARE\\Microsoft\\Windows\\CurrentVersion\\Run", 0, KEY_READ, &hKey);

   if(lRes == ERROR_SUCCESS)
   {
       //doSomething
       ...
       RegCloseKey(hKey);
   }

第一种情况下的行为是什么?关闭未成功打开的钥匙是否安全?

谢谢。

4

1 回答 1

2

只有在打开成功的情况下才应该关闭它,否则 HKEY 中返回的句柄将无效(可能为 NULL)。

于 2013-03-14T07:49:47.777 回答