【大喜利】【投稿~12/28】こんなおせち料理は嫌だ

訳あって、他の製品のアプリケーションを起動するプログラムを作っています。

そこで、アプリケーションのインストール先(パス)を取得する方法はないでしょうか?
(たとえば、EXCELだとF:\Program Files\Microsoft Office\Office\EXCEL.EXE)

APIなどでも調べてみたのですが、見あたりません。フォームを持たないプログラムなので、可能なら自動的に調べてパスを特定したいと考えています。
よろしくお願いします。

A 回答 (2件)

レジストリにアクセスするしか方法が無いと思いますが。

。。
確か\HKEY_LOCAL_MACHINE\SOFTWARE\MICROSOFT\Windows\CurrentVersion\App Paths配下にあったはずです。

VBでレジストリへアクセスする方法は知りませんのでゴメンナサイ。
    • good
    • 0
この回答へのお礼

早速の回答ありがとうございます。
そうですね。単純にインストール先を取得するには、やっぱりレジストリを参照するしかなさそうな気がします。

お礼日時:2001/08/02 15:35

(1)ShellExecute関数


そもそもフルパスを取得する必要があるのか?
大抵のアプリはパスなしのEXE名("Excel.exe"等)をShellExecute関数に指定すれば動きます

(2)FindExecutable関数
xlsファイルをFindExecutable関数に渡せばExecelのフルパス名が分かります
http://www.vbvbvb.com/jp/gtips/0951/gFindExecuta …

(3)SearchPath関数
"Excel.exe"を検索する
http://www.vbvbvb.com/jp/gtips/0101/gSearchPath. …
    • good
    • 1
この回答へのお礼

回答、ありがとうございます。参考になりました。

しかし。
(1)ShellExecute関数
 残念ながら呼び出したいプログラムは、EXE名のみでは実行できず。
(2)FindExecutable関数
 関連づけられている拡張子もないため、この手も使えず。
 
なので、考えられるとしたら、(3)SearchPath関数ですが、この方法だとローカルディスクの全領域を調べるとしたら、結構な時間がかかってしまうため、あんまり使いたくありません。
 単純にインストール先を取得するには、xruzさんが言うようにレジストリを参照するしかないような気がします。

お礼日時:2001/08/02 15:58

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!

このQ&Aを見た人はこんなQ&Aも見ています


おすすめ情報