共用方式為


BROWSEINFOW 結構 (shlobj_core.h)

包含 SHBrowseForFolder 函式的參數,並接收使用者所選取資料夾的相關信息。

語法

typedef struct _browseinfoW {
  HWND              hwndOwner;
  PCIDLIST_ABSOLUTE pidlRoot;
  LPWSTR            pszDisplayName;
  LPCWSTR           lpszTitle;
  UINT              ulFlags;
  BFFCALLBACK       lpfn;
  LPARAM            lParam;
  int               iImage;
} BROWSEINFOW, *PBROWSEINFOW, *LPBROWSEINFOW;

成員

hwndOwner

類型:HWND

對話框的擁有者視窗句柄。

pidlRoot

類型:PCIDLIST_ABSOLUTE

PIDL,指定要從中開始流覽之根資料夾的位置。 在命名空間階層中,只有指定的資料夾及其子資料夾會出現在對話框中。 此成員可以 NULL;在此情況下,會使用預設位置。

pszDisplayName

類型:LPTSTR

緩衝區的指標,接收用戶所選取之資料夾的顯示名稱。 此緩衝區的大小假設為MAX_PATH個字元。

lpszTitle

類型:LPCTSTR

在對話框中樹視圖控件上方顯示的 Null 終止字串指標。 此字串可用來指定使用者的指示。

ulFlags

類型:UINT

指定對話框選項的旗標。 這個成員可以是 0 或下列值的組合。 版本號碼是指 SHBrowseForFolder 所需的最低 Shell32.dll 版本,以辨識更新版本中新增的旗標。 如需詳細資訊,請參閱 殼層和通用控件版本

BIF_RETURNONLYFSDIRS (0x00000001)

0x00000001。 只傳回檔案系統目錄。 如果使用者選取不屬於文件系統的資料夾,確定 按鈕會呈現灰色。

附注 [確定] 按鈕仍會針對 “\\server” 專案以及 “\\server\share” 和目錄項目啟用。 不過,如果使用者選取 「\\server」 專案,將SHBrowseForFolder 所傳回的 PIDL 傳遞給SHGetPathFromIDList 失敗
 

BIF_DONTGOBELOWDOMAIN (0x00000002)

0x00000002。 請勿在對話框的樹視圖控件中包含網域層級下方的網路資料夾。

BIF_STATUSTEXT (0x00000004)

0x00000004。 在對話框中包含狀態區域。 回呼函式可以藉由將訊息傳送至對話框來設定狀態文字。 指定BIF_NEWDIALOGSTYLE時不支援此旗標。

BIF_RETURNFSANCESTORS (0x00000008)

0x00000008。 只傳回文件系統上階。 上階是命名空間階層中根資料夾底下的子資料夾。 如果使用者選取不屬於文件系統的根資料夾上階,確定 按鈕會呈現灰色。

BIF_EDITBOX (0x00000010)

0x00000010。 4.71 版。 在瀏覽對話框中加入編輯控制件,讓使用者輸入項目的名稱。

BIF_VALIDATE (0x00000020)

0x00000020。 4.71 版。 如果使用者在編輯框中輸入無效的名稱,瀏覽對話框會使用 BFFM_VALIDATEFAILED 訊息呼叫應用程式的 BrowseCallbackProc。 如果未指定BIF_EDITBOX,則會忽略此旗標。

BIF_NEWDIALOGSTYLE (0x00000040)

0x00000040。 5.0 版。 使用新的使用者介面。 設定此旗標可為使用者提供可重設大小的較大對話框。 對話框有數個新功能,包括:對話框中的拖放功能、重新排序、快捷功能表、新資料夾、刪除和其他快捷方式功能表命令。

注意 如果 COM 是透過已設定COINIT_MULTITHREADED旗標 CoInitializeEx 初始化,SHBrowseForFolder 傳遞BIF_NEWDIALOGSTYLE就會失敗。
 

BIF_BROWSEINCLUDEURLS (0x00000080)

0x00000080。 5.0 版。 瀏覽對話框可以顯示URL。 也必須設定BIF_USENEWUI和BIF_BROWSEINCLUDEFILES旗標。 如果未設定這三個旗標的任何一個,瀏覽器對話框就會拒絕URL。 即使已設定這些旗標,瀏覽對話方塊只有在包含所選取項目的資料夾支援URL時,才會顯示URL。 當呼叫資料夾 IShellFolder::GetAttributesOf 方法來要求選取項目的屬性時,資料夾必須設定 SFGAO_FOLDER 屬性旗標。 否則,瀏覽對話框將不會顯示URL。

BIF_USENEWUI

5.0 版。 使用新的使用者介面,包括編輯框。 此旗標相當於BIF_EDITBOX |BIF_NEWDIALOGSTYLE。

注意 如果 COM 是透過已設定COINIT_MULTITHREADED旗標的 CoInitializeEx 初始化,SHBrowseForFolder 傳遞BIF_USENEWUI就會失敗。
 

BIF_UAHINT (0x00000100)

0x00000100。 6.0 版。 與BIF_NEWDIALOGSTYLE結合時,會將使用提示新增至對話方塊,以取代編輯方塊。 BIF_EDITBOX覆寫此旗標。

BIF_NONEWFOLDERBUTTON (0x00000200)

0x00000200。 6.0 版。 請勿在瀏覽對話框中包含 [新增資料夾] 按鈕

BIF_NOTRANSLATETARGETS (0x00000400)

0x00000400。 6.0 版。 當選取的專案是快捷方式時,傳回快捷方式本身的 PIDL,而不是其目標。

BIF_BROWSEFORCOMPUTER (0x00001000)

0x00001000。 只傳回電腦。 如果使用者選取計算機以外的任何專案,確定 按鈕會呈現灰色。

BIF_BROWSEFORPRINTER (0x00002000)

0x00002000。 只允許選取印表機。 如果用戶選取印表機以外的任何專案,確定 按鈕會呈現灰色。

在 Windows XP 和更新版本中,最佳做法是使用 Windows XP 樣式對話方塊,將對話方塊的根目錄設定為 Printers 和 Faxes 資料夾 (CSIDL_PRINTERS)。

BIF_BROWSEINCLUDEFILES (0x00004000)

0x00004000。 4.71 版。 瀏覽對話框會顯示檔案和資料夾。

BIF_SHAREABLE (0x00008000)

0x00008000。 5.0 版。 瀏覽對話框可以在遠端系統上顯示可分享的資源。 這適用於想要在本機系統上公開遠端共享的應用程式。 也必須設定BIF_NEWDIALOGSTYLE旗標。

BIF_BROWSEFILEJUNCTIONS (0x00010000)

0x00010000。 Windows 7 和更新版本。 允許瀏覽資料夾連接點,例如連結庫或具有 .zip 擴展名的壓縮檔。

lpfn

類型:BFFCALLBACK

對話框在事件發生時所呼叫之應用程式定義函式的指標。 如需詳細資訊,請參閱 BrowseCallbackProc 函式。 這個成員可以 NULL

lParam

類型:LPARAM

對話框傳遞至回呼函式的應用程式定義值,如果在 lpfn中指定一個 。

iImage

類型:int

整數值,這個值會接收與儲存在系統映像清單中之所選資料夾相關聯之影像的索引。

言論

注意

shlobj_core.h 標頭會將 BROWSEINFO 定義為別名,根據 UNICODE 預處理器常數的定義,自動選取此函式的 ANSI 或 Unicode 版本。 混合使用編碼中性別名與非編碼中性的程序代碼,可能會導致編譯或運行時間錯誤不符。 如需詳細資訊,請參閱函式原型的 慣例。

要求

要求 價值
最低支援的用戶端 Windows XP、Windows 7 [僅限傳統型應用程式]
支援的最低伺服器 Windows 2000 Server [僅限傳統型應用程式]
標頭 shlobj_core.h (包括 Shlobj.h, Shlobj_core.h)