如何從MS Windows Vista上的windows服務獲取用戶文件夾路徑? 我認爲路徑爲C:\ Users目錄,但它可能是不同的位置取決於系統本地化。獲取用戶目錄路徑
Q
獲取用戶目錄路徑
5
A
回答
11
看看Environment.SpecialFolder Enumeration,例如
Environment.GetFolderPath(Environment.SpecialFolder.CommonDesktopDirectory);
調整你想要的特殊文件夾。但是,在閱讀另一篇帖子here時,看起來您可能需要對字符串進行一些操作,例如,如果您確切地想要使用c:\ users而不是c:\ users \ public。
7
System.Environment.SpecialFolder會給你訪問到你希望所有這些文件夾,如我的文檔,等等。
如果您使用的用戶配置SpecialFolder,應該給你的路徑,您的配置文件下用戶。
string userPath = Environment.GetFolderPath(Environment.SpecialFolder.UserProfile);
0
System.Environment.GetFolderPath(System.Environment.SpecialFolder.Personal)
1
我不能看到該函數暴露於.NET,但在C(++)將是
SHGetKnownFolderPath(FOLDERID_UserProfiles, ...)
2
@Neil指出的最好方法是使用SHGetKnownFolderPath()
和FOLDERID_UserProfiles
。但是,c#沒有。但是,調用它並不困難:
using System;
using System.Runtime.InteropServices;
namespace SOExample
{
public class Main
{
[DllImport("shell32.dll")]
static extern int SHGetKnownFolderPath([MarshalAs(UnmanagedType.LPStruct)] Guid rfid, uint dwFlags, IntPtr hToken, out IntPtr pszPath);
private static string getUserProfilesPath()
{
// https://msdn.microsoft.com/en-us/library/windows/desktop/dd378457(v=vs.85).aspx#folderid_userprofiles
Guid UserProfilesGuid = new Guid("0762D272-C50A-4BB0-A382-697DCD729B80");
IntPtr pPath;
SHGetKnownFolderPath(UserProfilesGuid, 0, IntPtr.Zero, out pPath);
string path = System.Runtime.InteropServices.Marshal.PtrToStringUni(pPath);
System.Runtime.InteropServices.Marshal.FreeCoTaskMem(pPath);
return path;
}
static void Main(string[] args)
{
string path = getUserProfilesPath(); // C:\Users
}
}
}
相關問題
- 1. C - 獲取目錄路徑
- 2. 從SDCARD ANDROID 6.0.1獲取目錄路徑
- 3. 獲取路徑中的一級目錄
- 4. 獲取.NET Framework目錄路徑
- 5. 獲取Silverlight ClientBin目錄的路徑
- 6. 從Spring bean獲取目錄的路徑?
- 7. 如何獲取工作目錄路徑?
- 8. PHP:獲取路徑php目錄
- 9. 從文件路徑獲取文件目錄路徑
- 10. 在Python中獲取絕對文件路徑的目錄路徑
- 11. 獲取路徑到項目目錄旁邊的目錄 - JAVA
- 12. 如何獲取Django中臨時目錄的子目錄路徑
- 13. 目錄路徑
- 14. 從用戶獲取目錄
- 15. 如何在用戶目錄更改時獲取文件的文件路徑?
- 16. 獲取當前登錄用戶的文檔文件夾路徑
- 17. 在Maven(Java)中獲取目標目錄路徑
- 18. 如何在spring中獲取項目目錄的路徑?
- 19. 如何使用gcloud命令獲取Cloud SDK目錄的路徑?
- 20. 如何獲取完整的目錄應用程序路徑?
- 21. 如何使用JFileChooser獲取目錄路徑?
- 22. 如何使用C++獲取system32目錄的完整路徑?
- 23. 如何使用Java獲取特殊系統目錄的路徑
- 24. 如何使用.NET獲取Windows上的實際目錄路徑?
- 25. 如何在iOS中獲取目錄的路徑應用程序
- 26. 獲取FreeSpace可從不存在的目錄路徑中獲得
- 27. PHP路徑目錄
- 28. 如何從批處理腳本中的文件路徑獲取目錄路徑
- 29. PHP僅獲得目錄路徑
- 30. 獲得相對路徑的絕對路徑當前目錄
您是否想要特定用戶的特定主路徑?不能保證所有用戶的主文件夾都位於同一位置。 (例如遠程家庭文件夾。) – 2012-01-06 21:29:51