![](/img/trans.png)
[英]How to get Windows\system32\config\systemprofile\AppData\Local\ folder path in C#?
[英]Get appdata\local folder path in C# windows service
我嘗試使用C:\\Users\\<username>\\AppData\\Local
文件夾路徑
Environment.GetFolderPath(Environment.SpecialFolder.LocalApplicationData)
在C#Windows服務中,但它返回一些其他路徑
C:\Windows\ServiceProfiles\LocalService\AppData\Local
有沒有人知道如何正確地做到這一點?
您是否在用戶帳戶下運行該服務? 如果沒有,服務將使用您自己的個人資料。 如果用戶“登錄”此服務,則可以將該文件夾傳遞給服務並繞過本地檢查。 否則,嘗試在用戶帳戶下運行服務(或為其創建帳戶)。
每個用戶的AppData文件夾存儲在注冊表中。
使用此路徑:
const string regKeyFolders = @"HKEY_USERS\<SID>\Software\Microsoft\Windows\CurrentVersion\Explorer\Shell Folders";
const string regValueAppData = @"AppData";
給定包含用戶sid的變量sid字符串,您可以像這樣獲取其AppData路徑:
string path=Registry.GetValue(regKeyFolders.Replace("<SID>", sid), regValueAppData, null) as string;
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.