对于某些项目,我需要:
动态创建本地用户帐户(为此我使用.NET框架中的UserPrincipal类)
冒充该用户(我写了一些调用本机LogonUser的类(advapi32.dll)
使用DPAPI加密某些用户数据。我也有一些调用本机CryptProtectData和CryptUnprotectData(crypt32.dll)的类
这里的问题是,当动态创建用户时,即使我调用LogonUser,也不会创建用户特定的文件夹。
由于DPAPI将查找这些文件夹,并且文件夹不存在,因此呼叫将失败。
现在,如果我手动执行用户登录,那么将创建这些文件夹,之后一切都很好。但是,我需要一种自动创建这些文件夹的方法,而无需手动登录。
有办法吗?
答案 0 :(得分:0)
我发现userenv.dll中有函数LoadUserProfile。 这就是我想要的。
现在,所有工作都按预期进行。