任意アプリのフルパス取得 – プログラミング – Home

任意アプリのフルパス取得
 
通知
すべてクリア

[解決済] 任意アプリのフルパス取得


ひろみ
 ひろみ
(@ひろみ)
ゲスト
結合: 22年前
投稿: 3
Topic starter  

パソコンによって、アプリケーションはいろいろな場所にインストールできますよね。
アプリケーション名がわかっているのですが、それが何処にインストールされているのか
フルパスを取得したいのです。やはりFindFileなどを使って全フォルダー・全ドライブを
検索しなければダメでしょうか?
CreateProcessでcmd.exeに「dir xxx.exe /s > xxx.txt」を渡して、
結果のテキストファイルを解析したほうが早い?!とも思ったのですが、
出来れば別の方法がいいかな・・・と思いまして、質問させていただきました。


引用未解決
トピックタグ
RAPT
 RAPT
(@RAPT)
ゲスト
結合: 23年前
投稿: 310
 

自分自身の実行ファイルだったら、GetModuleFileName()で取得できます。
Windows2000sp4/VC++6.0sp6/SDK-feb2003/ATL3.0/WTL7.0


返信引用
ひろ
 ひろ
(@ひろ)
ゲスト
結合: 25年前
投稿: 149
 

例えば[hoge.exe]が[c:\]と[C:\Program Files]の
両方にインストールされている場合は、
どちらを取得したいのでしょうか?

それとも現在起動している[hoge.exe]のフルパスを取得したいのでしょうか?


返信引用
あお
 あお
(@あお)
ゲスト
結合: 22年前
投稿: 45
 

レジストリの
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\App Paths
に大抵のアプリのexeはパスが入っているのではないかと思います。
ここを調べに行くのは?

また、自作のEXEならインストール時にレジストリのどこかにパスを
登録しておいて後でそこを見に行くのもありかと


返信引用
ひろみ
 ひろみ
(@ひろみ)
ゲスト
結合: 22年前
投稿: 3
Topic starter  

皆様、ありがとうございます。
自分自身の実行ファイルではなく、一般的な(?)iexplore.exeなどの所在をプログラムで
取得したかったのです。複数インストールされていた場合は、そのOSで起動できるほう・・・。

regeditで
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\App Paths
を見たら、ありました!
これを使いたいと思います。(見る方法はこれから学びます。)
ありがとうございました。


返信引用

返信する

投稿者名

投稿者メールアドレス

タイトル *

プレビュー 0リビジョン 保存しました
共有:
タイトルとURLをコピーしました