给定用户名或 SID,我需要获取用户默认配置文件目录。
我该怎么做?
GetUserProfileDirectory() 似乎仅适用于当前帐户。
GetUserProfileDirectory 和 SHGetFolderPath 都能够获取不同帐户的配置文件目录,唯一的问题是它们需要令牌句柄而不是 SID。要获取令牌句柄,您需要知道用户密码并调用 LogonUser,或者如果用户已经登录并且您作为服务运行,您可以获得他们的令牌。
我猜这些解决方案都不是你想要的,所以你必须进入无证土地:
读取“HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\ProfileList\%SID%”下的 ProfileImagePath 值