我一直在玩C++注册表函数,并且试图使RegCopyTree运行,但是每次尝试时,都会出现类似

ERROR_FILE_NOT_FOUND

或者
ERROR_ACCESS_DENIED.

我正在以管理员身份运行该程序,并且所有其他注册表功能都可以正常工作。

这是我正在使用的代码:
HKEY destinationKey;
RegCreateKeyEx(getRootKeyFromCode(rootKeyCode),
        destinationKeyPathNative, 0, NULL, 0, 0, NULL,
        &destinationKey, NULL);
RegCopyTree(INSERT_ROOT_KEY_HERE,
        INSERT_ORIGINAL_KEY_PATH_HERE, destinationKey);
RegCloseKey(destinationKey);

我已经删除了错误处理和其他一些不相关的部分。

最佳答案

目标键句柄应该具有写访问权,以便能够复制到它。在未指定访问方式的情况下调用RegCreateKeyEx()失败或未授予写访问权限。尝试使用KEY_WRITEKEY_CREATE_SUB_KEY作为第六个参数。

10-08 05:19