【发布时间】:2025-12-14 09:50:02
【问题描述】:
我需要获取用户默认配置文件目录,给定它的用户名或 SID。
我该怎么做?
GetUserProfileDirectory() 似乎只对当前帐户有效。
【问题讨论】:
标签: windows winapi profile sid
我需要获取用户默认配置文件目录,给定它的用户名或 SID。
我该怎么做?
GetUserProfileDirectory() 似乎只对当前帐户有效。
【问题讨论】:
标签: windows winapi profile sid
GetUserProfileDirectory 和 SHGetFolderPath 都能够获取不同帐户的配置文件目录,唯一的问题是它们需要令牌句柄而不是 SID。要获取令牌句柄,您需要知道用户密码并调用 LogonUser,或者如果用户已经登录并且您作为服务运行,您可以获得他们的令牌。
我猜这些解决方案都不是你想要的,所以你必须进入无证土地:
读取“HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\ProfileList\%SID%”下的 ProfileImagePath 值
【讨论】: