パソコンによって、アプリケーションはいろいろな場所にインストールできますよね。
アプリケーション名がわかっているのですが、それが何処にインストールされているのか
フルパスを取得したいのです。やはりFindFileなどを使って全フォルダー・全ドライブを
検索しなければダメでしょうか?
CreateProcessでcmd.exeに「dir xxx.exe /s > xxx.txt」を渡して、
結果のテキストファイルを解析したほうが早い?!とも思ったのですが、
出来れば別の方法がいいかな・・・と思いまして、質問させていただきました。
自分自身の実行ファイルだったら、GetModuleFileName()で取得できます。
Windows2000sp4/VC++6.0sp6/SDK-feb2003/ATL3.0/WTL7.0
例えば[hoge.exe]が[c:\]と[C:\Program Files]の
両方にインストールされている場合は、
どちらを取得したいのでしょうか?
それとも現在起動している[hoge.exe]のフルパスを取得したいのでしょうか?
レジストリの
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\App Paths
に大抵のアプリのexeはパスが入っているのではないかと思います。
ここを調べに行くのは?
また、自作のEXEならインストール時にレジストリのどこかにパスを
登録しておいて後でそこを見に行くのもありかと
皆様、ありがとうございます。
自分自身の実行ファイルではなく、一般的な(?)iexplore.exeなどの所在をプログラムで
取得したかったのです。複数インストールされていた場合は、そのOSで起動できるほう・・・。
regeditで
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\App Paths
を見たら、ありました!
これを使いたいと思います。(見る方法はこれから学びます。)
ありがとうございました。