好的,我檢查了Environment.SpecialFolder,但是這裏沒有任何內容。在C#中獲取主目錄的路徑?
我想在C#中獲取當前用戶的主目錄。 (例如c:\documents and settings\user
XP下,Vista下c:\users\user
和/home/user
Unix下)。
我知道我可以讀取環境變量來發現這一點,但我想這樣做的一個跨平臺的方式。
有沒有什麼辦法可以做到這一點與.NET(最好使用mscorlib)?
UPDATE:好吧,這是我最後使用的代碼:
string homePath = (Environment.OSVersion.Platform == PlatformID.Unix ||
Environment.OSVersion.Platform == PlatformID.MacOSX)
? Environment.GetEnvironmentVariable("HOME")
: Environment.ExpandEnvironmentVariables("%HOMEDRIVE%%HOMEPATH%");
BOOM。西部最快的槍:P – 2009-07-17 14:48:28
不知道你的機器,但在我的XP機器上%HOMEDRIVE %% HOMEPATH%是一個網絡目錄,而不是c:\ Documents and Settings \ user \ MSalters \ – MSalters 2009-07-17 14:55:36
說實話,我認爲這是確切的問題是.NET的未實現...您應該查看CSIDLS文檔(http://msdn.microsoft.com/en-us/library/bb762494.aspx)以查看Windows支持的完整列表:您實際上在尋找的是CSIDL_PROFILE,它在Windows中受支持,但由於某些深不可測的原因,不能由.NET支持。 – 2009-07-17 15:01:00