我想从安装为具有管理员权限的本地系统的 Windows 服务中获取所有用户的 Environment.SpecialFolder.ApplicationData。
例子:
如果我有 Tom、Matt 和 Christine 用户,我需要:
C:\Users\Matt\AppData\Local
C:\Users\Tom\AppData\Local
C:\Users\Christine\AppData\Local
提前致谢!
我想从安装为具有管理员权限的本地系统的 Windows 服务中获取所有用户的 Environment.SpecialFolder.ApplicationData。
例子:
如果我有 Tom、Matt 和 Christine 用户,我需要:
C:\Users\Matt\AppData\Local
C:\Users\Tom\AppData\Local
C:\Users\Christine\AppData\Local
提前致谢!
以下是您可以找到任何用户的 ApplicationData 路径的代码 -
现在从应用程序数据路径替换当前用户名。
/// <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));
}