フォルダ選択でマイドキュメントを規定値 – プログラミング – Home

フォルダ選択でマイドキュメントを規定値
 
通知
すべてクリア

フォルダ選択でマイドキュメントを規定値


ロメオ
 ロメオ
(@ロメオ)
ゲスト
結合: 16年前
投稿: 2
Topic starter  

宜しくお願いします。

作成したフォームのボタンAを押下する事でファイル保存用のフォルダ選択ダイアログを
表示しようと思っています。

調べてみるとSHBrowseForFolderというものがあり、これを使おうと思っているのですが
「マイドキュメントを規定値にする」という方法がわかりません。
「C:\Document and Settings\USER\MyDocument」という表現はできるのですが、パスとし
てのMyDocumentではなく、「デスクトップ」のようにショートカットといいますか(うま
く言葉が思いつきませんが)、いわゆる「マイドキュメント」というトップディレクトリ
を規定値にしたいと思っています。

うまく説明できませんが、どなたか理解していただける方いらっしゃいましたらご教授く
ださい。


引用解決済
トピックタグ
aetos
(@aetos)
Noble Member
結合: 5年前
投稿: 1480
 

検索したらこんなの出ました。
http://hp.vector.co.jp/authors/VA016117/shbff.html

これを参考に、コールバック関数で初期フォルダを設定します。
デスクトップ上のマイドキュメントの ITEMIDLIST を得るには、SHGetFolderLocation
に CSIDL_PERSONAL を渡して取得します(動作環境を Windows Vista 以降に限定してよ
いなら SHGetKnownFolderIDList に FOLDERID_Documents)。
ITEMIDLIST は後で解放するのを忘れずに。


返信引用
ABCB
 ABCB
(@ABCB)
ゲスト
結合: 16年前
投稿: 1
 

環境変数[USERPROFILE]を使ってみてはどうですか。
XPならここに「C:\Document and Settings\USER」までが設定されています。


返信引用
aetos
(@aetos)
Noble Member
結合: 5年前
投稿: 1480
 

> XPならここに「C:\Document and Settings\USER」までが設定されています。

その下のフォルダ名が「My Documents」であるとは限りませんよ。


返信引用
...
 ...
(@...)
ゲスト
結合: 22年前
投稿: 113
 

>環境変数[USERPROFILE]を使ってみてはどうですか。
必ず設定されていると言う保証が無い以上、それはどうかと思うが。。。


返信引用
ももんが
 ももんが
(@ももんが)
ゲスト
結合: 18年前
投稿: 38
 

もしかして
SHGetSpecialFolderLocation ?


返信引用
aetos
(@aetos)
Noble Member
結合: 5年前
投稿: 1480
 

> 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


返信引用

返信する

投稿者名

投稿者メールアドレス

タイトル *

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