如何使用RegLoadKey函数从默认用户加载NTUSER.DAT文件?

时间:2013-08-26 05:27:22

标签: c++ function winapi registry

我以为我可以使用RegLoadKey来加载位于C:\ Users \ Default文件夹中的NTUSER.DAT文件:

HKEY hKey = HKEY_LOCAL_MACHINE;
    LPCTSTR lpSubKey = L"software\\Load";
    LPCTSTR lpFile = L"C:\\Users\\Default\\NTUSER";

    long R=RegLoadKey(hKey, lpSubKey, lpFile);

它不起作用。谁能告诉我如何使用此功能将 NTUSER.DAT 文件加载到 HKLM \ Software \ Load 子键中?

谢谢!

1 个答案:

答案 0 :(得分:1)

正如@Xearinox所说,你需要特权(SE_BACKUP_NAMESE_RESTORE_NAME

此外,您必须加载NTUSER.DAT,否则您将创建新的注册表配置单元。而lpSubKey只能在hKey之后成为第一级。

所以你应该设置特权并加载它:

long ret = RegLoadKey(HKEY_LOCAL_MACHINE, L"LOAD", L"C:\\Users\\Default\\NTUSER.DAT");