ProgramFilesフォルダの取得方法は?

解決


吉田  2006-01-17 12:08:00  No: 19725  IP: 192.*.*.*

いつもお世話になっております。

タイトルの通りなのですが、SHGetSpecialFolderLocationやSHGetPathFromIDListを使って、
マイドキュメント等の特別フォルダの取得は出来るのですが、
CSIDL_****で始まる定数にprogram filesが無いのでどうしたものかと困っております。

windowsやsystemフォルダのように別の関数で取得するのでしょうか?
使ってるDelphi付属のwindows.pasを見てもそれらしい関数が定義されてないような。。。

いつもお手数掛けますがご教授下されば幸いです。

編集 削除
ShlObj.pas  2006-01-17 12:23:23  No: 19726  IP: 192.*.*.*

ナニはなくとも、GREP。
CSIDL_PROGRAMS
よりも
CSIDL_COMMON_PROGRAMS
かな…

編集 削除
吉田  2006-01-17 12:27:39  No: 19727  IP: 192.*.*.*

早速のレスありがとうございます。

ご指摘の件、書き忘れてました。。。申し訳ありません。
この2つは既に試したのですが、CSIDL_PROGRAMSとCSIDL_COMMON_PROGRAMSは
スタートボタンをクリックすることで展開する
C:\Documents and Settings\***\スタート メニュー\
配下のようで、確かCOMMONのほうがAll Userだったような。。

私が取得したいのは、c:\program files\フォルダの方なのです。
質問の仕方が悪くて申し訳ありません。

編集 削除
サルも筆のあやまり、弘法も木から落ちる  2006-01-17 12:53:00  No: 19728  IP: 192.*.*.*

CSIDL_PROGRAM_FILES        = $0026; { C:\Program Files }
  CSIDL_PROGRAM_FILES_COMMON = $002b; { C:\Program Files\Common }

編集 削除
吉田  2006-01-17 12:59:18  No: 19729  IP: 192.*.*.*

CSIDL_PROGRAM_FILESを書くとエラーが出たので、調べてみたところSHFolderに定義されておりました。。
助かりました。ありがとうございます。

編集 削除
吉田  2006-01-17 12:59:35  No: 19730  IP: 192.*.*.*

解決付け忘れました。

編集 削除