좋아요, Environment.SpecialFolder를 확인했습니다.하지만 여기에는 아무 것도 없습니다.C#에서 홈 디렉토리의 경로를 가져 오는 중입니까?
C#에서 현재 사용자의 홈 디렉토리를 가져오고 싶습니다. (유닉스에서 예를 들어, XP에서 c:\documents and settings\user
, 비스타에서 c:\users\user
및 /home/user
.)
나는이를 찾기 위해 환경 변수를 읽을 수 알지만, 크로스 플랫폼 방식으로이 작업을 수행 할 수 있습니다.
.NET에서이 작업을 수행 할 수있는 방법이 있습니까 (mscorlib를 사용하는 것이 좋음)?
UPDATE가 :
string homePath = (Environment.OSVersion.Platform == PlatformID.Unix ||
Environment.OSVersion.Platform == PlatformID.MacOSX)
? Environment.GetEnvironmentVariable("HOME")
: Environment.ExpandEnvironmentVariables("%HOMEDRIVE%%HOMEPATH%");
붐. 서쪽에서 가장 빠른 총 : P –
컴퓨터에 대한 Dunno가 내 XP 상자에서 % HOMEDRIVE %% HOMEPATH %는 네트워크 디렉토리가 아니라 c : \ Documents and Settings \ user \ MSalters \ – MSalters
입니다. 문제는. NET의 underimplementation 수 ... 당신은 CSIDLS (http://msdn.microsoft.com/en-us/library/bb762494.aspx)에 대한 설명서를 보면 Windows가 지원하는 전체 목록을 볼 수 있습니다. 실제로 찾고있는 것은 CSIDL_PROFILE이며, Windows에서는 지원되지만 .NET으로는 지원할 수없는 이유가 있습니다. –