- ベストアンサー
プログラムの在り処を取得する
VisualC#2005(.NETFramework2.0)で「プログラムの在り処を取得」する方法を 教えて下さい。 よく見かけるのは、ブラウザ(IE,Firefox,Netscapeあたり)や JREのフルパスを自動的に認識しているものです。 どうするとフルパスを取得出来るのでしょうか?
- みんなの回答 (4)
- 専門家の回答
質問者が選んだベストアンサー
こんにちわ。 レジストリを参照しフルパスを取得することが出来ます。 参考URLはJREのレジストリについてです。
その他の回答 (3)
- BLUEPIXY
- ベストアンサー率50% (3003/5914)
回答No.3
環境変数のPATH を利用して検索するのでは
- talepanda
- ベストアンサー率58% (45/77)
回答No.2
>ごめんなさい、自分自身ではなく、外部プログラムのフルパスを取得したいのです。 >リテラルではなく、実際に存在するパスを。 いまいちよくわからないんですけど、そのパスを取得したいプログラムについて、どのような情報をどうやって取得するんでしょう? プロセス一覧とかから?
- talepanda
- ベストアンサー率58% (45/77)
回答No.1
Assembly myAssembly = Assembly.GetEntryAssembly(); string path = myAssembly.Location;
質問者
補足
ごめんなさい、自分自身ではなく、外部プログラムのフルパスを取得したいのです。 リテラルではなく、実際に存在するパスを。
補足
外部プログラムが起動している事が前提ではなくて、 NETFrameworkとかで、指定したプログラムが どこにあるのか超高速で走査するものとかあるのかな~くらいにしか考えてませんでした。 探しても見つらないもので・・・。 ムリなら、そういったものはどうやって実現しているのでしょう? よくインストール途中とかで自動認識されているようなものがあると思うのですが・・・。 あれは自動認識ではなくリテラルなんでしょうか? DドライブがシステムルートでもC:\Program Files\~iexplore.exeって出る、のかな・・・。