宜しくお願いします。
作成したフォームのボタンAを押下する事でファイル保存用のフォルダ選択ダイアログを
表示しようと思っています。
調べてみるとSHBrowseForFolderというものがあり、これを使おうと思っているのですが
「マイドキュメントを規定値にする」という方法がわかりません。
「C:\Document and Settings\USER\MyDocument」という表現はできるのですが、パスとし
てのMyDocumentではなく、「デスクトップ」のようにショートカットといいますか(うま
く言葉が思いつきませんが)、いわゆる「マイドキュメント」というトップディレクトリ
を規定値にしたいと思っています。
うまく説明できませんが、どなたか理解していただける方いらっしゃいましたらご教授く
ださい。
検索したらこんなの出ました。
http://hp.vector.co.jp/authors/VA016117/shbff.html
これを参考に、コールバック関数で初期フォルダを設定します。
デスクトップ上のマイドキュメントの ITEMIDLIST を得るには、SHGetFolderLocation
に CSIDL_PERSONAL を渡して取得します(動作環境を Windows Vista 以降に限定してよ
いなら SHGetKnownFolderIDList に FOLDERID_Documents)。
ITEMIDLIST は後で解放するのを忘れずに。
環境変数[USERPROFILE]を使ってみてはどうですか。
XPならここに「C:\Document and Settings\USER」までが設定されています。
> XPならここに「C:\Document and Settings\USER」までが設定されています。
その下のフォルダ名が「My Documents」であるとは限りませんよ。
>環境変数[USERPROFILE]を使ってみてはどうですか。
必ず設定されていると言う保証が無い以上、それはどうかと思うが。。。
もしかして
SHGetSpecialFolderLocation ?
> SHGetSpecialFolderLocation ?
でもいいし、SHGetFolderLocation でもいい。
SHGetFolderLocation
http://msdn.microsoft.com/en-us/library/bb762180(VS.85).aspx
SHGetSpecialFolderLocation
http://msdn.microsoft.com/en-us/library/bb762203(VS.85).aspx