さて、Environment.SpecialFolderをチェックしましたが、そこには何もありません。C#でホームディレクトリのパスを取得していますか?
C#で現在のユーザーのホームディレクトリを取得します。 (例えば、XPの下c:\documents and settings\user
、Vistaでc:\users\user
、およびUnixで/home/user
。)
私はこれを見つけるために的環境変数を読み込むことができます知っているが、私は、クロスプラットフォームな方法でこれをやりたいです。
.NETでこれを行う方法はありますか(mscorlibを使用することをお勧めします)?
UPDATE:さて、これは私が使用して終了コードです:
string homePath = (Environment.OSVersion.Platform == PlatformID.Unix ||
Environment.OSVersion.Platform == PlatformID.MacOSX)
? Environment.GetEnvironmentVariable("HOME")
: Environment.ExpandEnvironmentVariables("%HOMEDRIVE%%HOMEPATH%");
BOOM。西で最も速い銃:P –
あなたのマシンについてはダンノですが、私のXPボックスでは%HOMEPRIVE %% HOMEPATH%はネットワークディレクトリで、c:\ Documents and Settings \ user \ MSalters \ – MSalters
ではありません。問題が.NETの実装の不足になっている... Windowsがサポートしているすべての一覧を見るには、CSIDLS(http://msdn.microsoft.com/en-us/library/bb762494.aspx)のドキュメントを参照する必要があります。実際に探しているのは、CSIDL_PROFILEです。これは、Windowsではサポートされていますが、検討できない理由で.NETではサポートされていません。 –