0

对于某些项目,我需要:

  1. 动态创建本地用户帐户(为此我使用 .NET 框架中的 UserPrincipal 类)

  2. 模拟该用户(我编写了一些调用本机 LogonUser (advapi32.dll) 的类

  3. 使用 DPAPI 加密一些用户数据。我还有一些调用本机 CryptProtectData 和 CryptUnprotectData (crypt32.dll) 的类

这里的问题是,在动态创建用户时,不会创建用户特定的文件夹,即使我调用 LogonUser。

由于 DPAPI 将查找这些文件夹,而这些文件夹不存在,因此调用将失败。

现在,如果我手动执行用户登录,将创建这些文件夹,之后一切都很好。但是,我需要一种方法来自动创建这些文件夹,而无需执行手动登录。

有没有办法做到这一点?

4

1 回答 1

0

我发现userenv.dll中有函数LoadUserProfile。这就是我一直在寻找的。

现在,一切都按预期工作。

于 2016-01-12T12:38:55.887 回答