- ベストアンサー
アプリケーションのインストール先のパスを取得する方法について。
訳あって、他の製品のアプリケーションを起動するプログラムを作っています。 そこで、アプリケーションのインストール先(パス)を取得する方法はないでしょうか? (たとえば、EXCELだとF:\Program Files\Microsoft Office\Office\EXCEL.EXE) APIなどでも調べてみたのですが、見あたりません。フォームを持たないプログラムなので、可能なら自動的に調べてパスを特定したいと考えています。 よろしくお願いします。
- みんなの回答 (2)
- 専門家の回答
質問者が選んだベストアンサー
レジストリにアクセスするしか方法が無いと思いますが。。。 確か\HKEY_LOCAL_MACHINE\SOFTWARE\MICROSOFT\Windows\CurrentVersion\App Paths配下にあったはずです。 VBでレジストリへアクセスする方法は知りませんのでゴメンナサイ。
その他の回答 (1)
- todo36
- ベストアンサー率58% (728/1234)
(1)ShellExecute関数 そもそもフルパスを取得する必要があるのか? 大抵のアプリはパスなしのEXE名("Excel.exe"等)をShellExecute関数に指定すれば動きます (2)FindExecutable関数 xlsファイルをFindExecutable関数に渡せばExecelのフルパス名が分かります http://www.vbvbvb.com/jp/gtips/0951/gFindExecutable.html (3)SearchPath関数 "Excel.exe"を検索する http://www.vbvbvb.com/jp/gtips/0101/gSearchPath.html
お礼
回答、ありがとうございます。参考になりました。 しかし。 (1)ShellExecute関数 残念ながら呼び出したいプログラムは、EXE名のみでは実行できず。 (2)FindExecutable関数 関連づけられている拡張子もないため、この手も使えず。 なので、考えられるとしたら、(3)SearchPath関数ですが、この方法だとローカルディスクの全領域を調べるとしたら、結構な時間がかかってしまうため、あんまり使いたくありません。 単純にインストール先を取得するには、xruzさんが言うようにレジストリを参照するしかないような気がします。
お礼
早速の回答ありがとうございます。 そうですね。単純にインストール先を取得するには、やっぱりレジストリを参照するしかなさそうな気がします。