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

解決


吉田  2006-01-17 21:08:00  No: 19725

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

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

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

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


ShlObj.pas  2006-01-17 21:23:23  No: 19726

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


吉田  2006-01-17 21:27:39  No: 19727

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

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

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


サルも筆のあやまり、弘法も木から落ちる  2006-01-17 21:53:00  No: 19728

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


吉田  2006-01-17 21:59:18  No: 19729

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


吉田  2006-01-17 21:59:35  No: 19730

解決付け忘れました。


※返信する前に利用規約をご確認ください。

※Google reCAPTCHA認証からCloudflare Turnstile認証へ変更しました。






  このエントリーをはてなブックマークに追加