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 或更高版本)

另请参阅

IShellBrowser