【问题标题】:Find LocalAppData for a different Windows user查找其他 Windows 用户的 LocalAppData
【发布时间】:2016-05-20 10:08:33
【问题描述】:

我有一个负责部署桌面应用程序的 Windows 服务。它检测 Windows 登录,然后应将应用程序安装到本地 appdata 中,并在正确的位置启动菜单图标。

找到给定用户的本地应用数据文件夹的正确方法是什么?我有一个会话 ID,但没有 win32 用户令牌。

【问题讨论】:

    标签: c# winapi


    【解决方案1】:

    好的,我解决了。

    我能够通过调用 WTSQueryUserToken 检索给定会话 ID 的用户令牌。

    然后我能够将此令牌提供给 SHGetKnownFolderPath,它返回了本地应用数据的正确路径。

    【讨论】:

    • 在 Vista 之前,您可以将用户令牌传递给 SHGetFolderPath()
    • 我总是从 WTSQueryUserToken 得到“假”,我猜它有权限等,比如这里stackoverflow.com/questions/42717691/…,你遇到过同样的问题吗?你是怎么解决的?
    • @Alonzzo2 不,我没有这个问题。您是否检查了权限要求?您需要以 LocalSystem 身份运行并拥有 SE_TCB_NAME 权限
    猜你喜欢
    • 1970-01-01
    • 2014-10-07
    • 1970-01-01
    • 1970-01-01
    • 2016-10-31
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多