首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >获取C# windows服务中的appdata\local文件夹路径

获取C# windows服务中的appdata\local文件夹路径
EN

Stack Overflow用户
提问于 2012-06-26 13:38:25
回答 2查看 22.1K关注 0票数 22

我正在尝试使用以下命令获取C:\Users\<username>\AppData\Local文件夹路径

代码语言:javascript
复制
Environment.GetFolderPath(Environment.SpecialFolder.LocalApplicationData)

在C# Windows服务中,但它返回一些其他路径

代码语言:javascript
复制
C:\Windows\ServiceProfiles\LocalService\AppData\Local

有没有人知道怎么做才是正确的?

EN

回答 2

Stack Overflow用户

发布于 2012-06-26 13:47:41

您是否在用户帐户下运行该服务?如果没有,该服务将使用自己的配置文件,如您所见。如果此服务是由用户“登录”的,那么您可以将文件夹传递给该服务并绕过本地检查。否则,请尝试在用户帐户下运行该服务(或为其创建帐户)。

票数 9
EN

Stack Overflow用户

发布于 2014-03-25 08:54:20

每个用户的AppData文件夹存储在注册表中。

使用以下路径:

代码语言:javascript
复制
const string regKeyFolders = @"HKEY_USERS\<SID>\Software\Microsoft\Windows\CurrentVersion\Explorer\Shell Folders";
const string regValueAppData = @"AppData";

给定一个包含用户sid的变量sid字符串,您可以像这样获得他们的AppData路径:

代码语言:javascript
复制
string path=Registry.GetValue(regKeyFolders.Replace("<SID>", sid), regValueAppData, null) as string;
票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/11201308

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档