program files のパスの取得

[戻る]
さる 2006/03/26(日) 23:21:41
開発環境 VC++ 7.0 MFC

システムの program files のパスを取得したいのですが
APIは無いでしょうか。

CFileFind     fFind;
const char szPath[] = "C:\Program Files\○○○\***.**"; 
bFind = fFind.FindFile(szPath);

これだと、ファイルを見つけることができるのですが


const char szPath[] = "%programfiles%\○○○\***.**"; 
これだと、ファイルを見つけることができません


%programfiles%
を取り出すAPIを教えて下さい。

Ban 2006/03/27(月) 01:17:28
SHGetFolderPath で、CSIDL_PROGRAM_FILES はどうですか。

# 実行できる環境に注意。詳細は MSDN をご確認ください。

RAPT 2006/03/27(月) 01:43:11
# ついでに、環境変数の値を取得したいだけなら、
# GetEnvironmentVariable() API を調べてみてください。

YuO [E-Mail] 2006/03/27(月) 01:59:39
展開が目的なら,ExpandEnvironmentStringsなんてのもありますね。
http://msdn.microsoft.com/library/en-us/sysinfo/base/expandenvironmentstrings.
asp

さる 2006/03/27(月) 03:24:32
[[解決]]
皆さん ご回答ありがとうございました。

今回は、YuO さんの

ExpandEnvironmentStrings

が一番簡単だったので、このAPIを使用することにしました。


ありがとうございました。

古いスレッドには追加発言できません。