0

我想从安装为具有管理员权限的本地系统的 Windows 服务中获取所有用户的 Environment.SpecialFolder.ApplicationData。

例子:

如果我有 Tom、Matt 和 Christine 用户,我需要:

C:\Users\Matt\AppData\Local

C:\Users\Tom\AppData\Local

C:\Users\Christine\AppData\Local

提前致谢!

4

1 回答 1

0

以下是您可以找到任何用户的 ApplicationData 路径的代码 -

  1. 首先找出当前用户的名字。
  2. 找出应用程序数据路径。
  3. 现在从应用程序数据路径替换当前用户名。

    /// <summary>
    /// GetAppDatafolder
    /// </summary>
    private static void GetAppDatafolder(string otherUserName)
    {
        var currentUserIdentity = System.Security.Principal.WindowsIdentity.GetCurrent().Name;
        var currentUserName = (currentUserIdentity.Contains(@"\")) ? (currentUserIdentity.Split('\\')[1]) : currentUserIdentity;
        var currentAppDataPath = Environment.GetFolderPath(Environment.SpecialFolder.ApplicationData);
        var otherUserAppDataPath = currentAppDataPath.Replace(currentUserName, otherUserName);
    
        Console.WriteLine(string.Format("Current User AppDataPath : {0}", currentAppDataPath));
        Console.WriteLine(string.Format("{0} AppDataPath : {1}", otherUserName, otherUserAppDataPath));
    }
    
于 2013-10-24T09:33:51.620 回答