フォルダ選択ダイアログ:ネットワーク上の共有フォルダ初期表示方法について
フォルダ選択ダイアログで、ネットワーク上の共有フォルダを初期表示する
方法についてご教示下さい。
SHBrowsForFolder を用いて
フォルダ選択ダイアログで共有フォルダを初回表示した場合、
指定フォルダを"\\PC名\共有フォルダ名"としても下記のように
ネットワーク全体までしか表示されずに困っています。
マイネットワーク
|
|-ネットワーク全体
|
|-Microsoft Terminal Services
|-Microsoft Windows Network
|-Web Client Network
BROWSEINFO構造体には、
・ルートフォルダにマイネットワークのアイテムIDリスト
・コールバック関数のパラメタに指定フォルダパスのポインタ
・その他もろもろ
を設定し、フォルダ選択ダイアログを表示しようとしています。
なお、手動で「Microsoft Windows Network→ドメイン名→PC名
→共有フォルダ」を開く動作(フォルダツリーの『+』押下)まで行った後、
再度同じ手順でSHBrowsForFolder()をコールすると下記のように
意図した動作となります。
マイネットワーク
|
|-ネットワーク全体
|
|-Microsoft Terminal Services
|-Microsoft Windows Network
| |
| |-ドメイン名
| |
| |-PC名
| |-共有フォルダ
|
|-Web Client Network
コールバック関数内では、ダイアログが最初に表示される直前のみ
指定されたフォルダを表示するように処理を行っています(つもりです)。
// 初期化時にフォルダを選択させます。
if( uMsg == BFFM_INITIALIZED )
{
// lpData=BROWSEINFO構造体で指定したフォルダパス
// ※文字列のアドレスです。
::SendMessage( hwnd, BFFM_SETSELECTION, TRUE, lpData );
}
ネットワーク上の共有フォルダを初期表示させるには
一度共有フォルダ配下にアクセスが必要なのでしょうか?
ご教示のほどよろしくお願い致します。
お礼
無事解決できました ありがとうございました