はじめに
自分自身の実行パスが必要なることは、時々出てくると思います。たとえば、プログラムの実行時に、自分が起動したディレクトリに色んなファイルが存在する場合。(ディレクトリで画像ファイルを管理したり、データを保存したりする)そのパスがどうしても必要なります。そんなときには自分の実行パスを取得しなければなりません。(決めうちなんてできませんよね)そのパスは簡単に取得できるので、あっそうなの?って思うかもしれませんが、覚えておくと役に立つと思いますので、記事にしてみました。
解説
2つの方法で、実行時のパスを取得することができます。以下の方法で、簡単に取得できます。
Applicationを使う方法
var directory = Application.StartupPath;
Assemblyを使う方法
var myAssembly = System.Reflection.Assembly.GetEntryAssembly(); var path = myAssembly.Location; var directory = System.IO.Path.GetDirectoryName(path);
Applicationから取得する方が、簡単で良いかと思います。
また、Applicationの中には使えそうなプロパティが多数あります。
ちょっと紹介しておきます。
- CommonAppDataPath すべてのユーザーが共有するアプリケーション データのパスを取得します。
- CommonAppDataRegistry すべてのユーザーが共有するアプリケーション データのレジストリ キーを取得します。
- CompanyName アプリケーションに関連付けられている会社名を取得します。
- CurrentCulture 現在のスレッドのカルチャ情報を取得または設定します。
- CurrentInputLanguage 現在のスレッドの現在の入力言語を取得または設定します。
- ExecutablePath アプリケーションを開始した実行可能ファイルのパスを、ファイル名を含めて取得します。
- LocalUserAppDataPath ローカルで非ローミング ユーザーのアプリケーション データのパスを取得します。
- ProductName このアプリケーションに関連付けられている製品名を取得します。
- ProductVersion このアプリケーションに関連付けられている製品のバージョンを取得します。
- StartupPath アプリケーションを開始した実行可能ファイルの、ファイル名を含まないパスを取得します。
- UserAppDataPath ユーザーのアプリケーション データのパスを取得します。
- UserAppDataRegistry ユーザーのアプリケーション データのレジストリ キーを取得します。
これで全部ではありませんが、使えそうなプロパティを抜き出してみました。
