IShellBrowser::BrowseObject 方法 (shobjidl_core.h)
通知 Windows 资源管理器浏览到另一个文件夹。
语法
HRESULT BrowseObject(
PCUIDLIST_RELATIVE pidl,
UINT wFlags
);
参数
pidl
类型: PCUIDLIST_RELATIVE
ITEMIDLIST 的地址 (项标识符列表) 结构,用于指定对象的位置。 此值依赖于 wFlags 参数中设置的标志。
wFlags
类型: UINT
指定要浏览的文件夹的标志。 它可以是零个或一个或多个以下值。
这些标志指定是否要创建另一个窗口。
SBSP_DEFBROWSER (0x0000)
使用默认行为,该行为遵循视图选项 (用户设置创建新窗口或就地浏览) 。 在大多数情况下,调用应用程序应使用此标志。
SBSP_SAMEBROWSER
浏览到具有相同 Windows 资源管理器窗口的另一个文件夹。
SBSP_NEWBROWSER
为指定文件夹创建另一个窗口。
以下标志指定模式。 如果指定了SBSP_SAMEBROWSER,或者指定了SBSP_DEFBROWSER并且用户已选择“ 就地浏览”,则忽略这些值。
SBSP_DEFMODE
使用当前窗口。
SBSP_OPENMODE
为新浏览窗口指定任何文件夹树。 如果当前浏览器与浏览对象调用SBSP_OPENMODE不匹配,则会打开一个新窗口。
SBSP_EXPLOREMODE
指定新浏览窗口的文件夹树。 如果当前浏览器与浏览对象调用SBSP_EXPLOREMODE不匹配,则会打开一个新窗口。
SBSP_HELPMODE
不支持。 请勿使用。
SBSP_NOTRANSFERHIST
不要将浏览历史记录传输到新窗口。
以下标志指定 pidl 参数的类别。
SBSP_ABSOLUTE
相对于桌面的绝对 PIDL。
SBSP_RELATIVE
相对于当前文件夹的相对 PIDL。
SBSP_PARENT
浏览父文件夹,忽略 PIDL。
SBSP_NAVIGATEBACK
向后导航,忽略 PIDL。
SBSP_NAVIGATEFORWARD
向前导航,忽略 PIDL。
SBSP_ALLOW_AUTONAVIGATE (0x00010000)
启用自动导航。
以下标志指定模式。
SBSP_KEEPSAMETEMPLATE (0x00020000)
Windows Vista 及更高版本。 不支持。 请勿使用。
SBSP_KEEPWORDWHEELTEXT (0x00040000)
Windows Vista 及更高版本。 在不清除搜索输入字段的情况下导航。
SBSP_ACTIVATE_NOFOCUS (0x00080000)
Windows Vista 及更高版本。 在不按默认行为(将焦点设置到新视图)的情况下导航。
以下标志控制如何通过导航操作历史记录。
SBSP_CALLERUNTRUSTED (0x00800000)
Microsoft Internet Explorer 6 Service Pack 2 (SP2) 及更高版本。 导航可能是由本地系统上已存在的脚本代码的网页启动的。
SBSP_TRUSTFIRSTDOWNLOAD (0x01000000)
Microsoft Internet Explorer 6 Service Pack 2 (SP2) 及更高版本。 新窗口是用户启动的操作的结果。 如果新窗口立即尝试下载内容,请信任该窗口。
SBSP_UNTRUSTEDFORDOWNLOAD (0x02000000)
Microsoft Internet Explorer 6 Service Pack 2 (SP2) 及更高版本。 窗口导航到不受信任的非 HTML 文件。 如果用户尝试下载文件,则不允许下载。
SBSP_NOAUTOSELECT
禁止在历史记录窗格中选择。
SBSP_WRITENOHISTORY
在 history Shell 文件夹中不写入此导航的历史记录。
SBSP_CREATENOHISTORY (0x00100000)
0x00100000。 Windows 7 及更高版本。 不要向旅行日志添加新条目。 当用户在搜索框中输入搜索词并随后优化查询时,浏览器会向前导航,但不添加其他旅行日志条目。
SBSP_TRUSTEDFORACTIVEX (0x10000000)
Microsoft Internet Explorer 6 Service Pack 2 (SP2) 及更高版本。 导航应允许 ActiveX 提示。
SBSP_FEEDNAVIGATION (0x20000000)
Windows Internet Explorer 7 及更高版本。 如果当前注册表设置允许,请为浏览器提供要导航到的目标。
SBSP_REDIRECT (0x40000000)
启用重定向到另一个 URL。
SBSP_INITIATEDBYHLINKFRAME (0x80000000)
SBSP_PLAYNOSOUND (0x00200000)
Windows 7 及更高版本。 不要使搜索框中每次击键的导航声音完整。
返回值
类型: HRESULT
如果该方法成功,则返回 S_OK。 否则,将返回 HRESULT 错误代码。
注解
视图可以使用此方法强制 Windows 资源管理器浏览到命名空间中的特定位置。 通常,这些是视图中包含的文件夹。
示例
IShellBrowser* psb;
hr = IUnknown_QueryService(punkSite, SID_STopLevelBrowser, IID_PPV_ARGS(&psb));
if (SUCCEEDED(hr))
{
hr = psb->BrowseObject(pidlSearch, SBSP_DEFBROWSER | SBSP_ABSOLUTE);
psb->Release();
}
要求
最低受支持的客户端 | Windows XP [仅限桌面应用] |
最低受支持的服务器 | Windows 2000 Server [仅限桌面应用] |
目标平台 | Windows |
标头 | shobjidl_core.h (包括 Shobjidl.h) |
DLL | Shell32.dll (版本 4.0 或更高版本) |