BROWSEINFOA 結構 (shlobj_core.h)

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

語法

typedef struct _browseinfoA {
  HWND              hwndOwner;
  PCIDLIST_ABSOLUTE pidlRoot;
  LPSTR             pszDisplayName;
  LPCSTR            lpszTitle;
  UINT              ulFlags;
  BFFCALLBACK       lpfn;
  LPARAM            lParam;
  int               iImage;
} BROWSEINFOA, *PBROWSEINFOA, *LPBROWSEINFOA;

成員

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 是透過 CoInitializeEx 初始化 並設定COINIT_MULTITHREADED旗標,則如果傳遞 BIF_NEWDIALOGSTYLE,SHBrowseForFolder 就會失敗。
 

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 是透過 CoInitializeEx 初始化並設定COINIT_MULTITHREADED旗標,則如果傳遞 BIF_USENEWUI,SHBrowseForFolder 就會失敗。
 

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 樣式對話方塊,將對話方塊的根目錄設定為 [印表機和傳真] 資料夾 (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)