1

给定用户名或 SID,我需要获取用户默认配置文件目录。

我该怎么做?

GetUserProfileDirectory() 似乎仅适用于当前帐户。

4

1 回答 1

1

GetUserProfileDirectory 和 SHGetFolderPath 都能够获取不同帐户的配置文件目录,唯一的问题是它们需要令牌句柄而不是 SID。要获取令牌句柄,您需要知道用户密码并调用 LogonUser,或者如果用户已经登录并且您作为服务运行,您可以获得他们的令牌。

我猜这些解决方案都不是你想要的,所以你必须进入无证土地:

读取“HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\ProfileList\%SID%”下的 ProfileImagePath 值

于 2011-05-06T15:23:34.217 回答