IFileDialog::SetFolder 方法 (shobjidl_core.h)

设置一个文件夹,该文件夹在打开对话框时始终处于选中状态,而不考虑以前的用户操作。

语法

HRESULT SetFolder(
  [in] IShellItem *psi
);

参数

[in] psi

类型: IShellItem*

指向表示文件夹的接口的指针。

返回值

类型: HRESULT

如果该方法成功,则返回 S_OK。 否则,将返回 HRESULT 错误代码。

注解

此文件夹将覆盖任何“最近使用”文件夹。 如果在显示对话框时调用此方法,则会导致对话框导航到指定的文件夹。

一般情况下,不建议使用此方法。 如果在显示对话框之前调用 SetFolder ,则不会显示用户保存或打开的最新位置。 除非有非常具体的原因导致此行为,否则这不是良好或预期的用户体验,因此应避免使用。 在几乎所有情况下, IFileDialog::SetDefaultFolder 是更好的方法。

从 Windows 7 起,如果通过 psi 指定的文件夹路径是 已知文件夹的默认路径,则会在对话框中使用已知文件夹的当前路径。 该路径可能与 psi 中指定的路径不同;例如,如果已重定向已知文件夹,则为 。 如果已知文件夹是 (虚拟文件夹文档、音乐、图片和视频) 的库,则会在对话框中使用库的路径。 如果指定的库在Windows 8.1) 时默认隐藏 (,则会在对话框中使用库的默认保存位置,例如文档库的 Microsoft OneDrive 文档文件夹。 由于这些映射,对话框中使用的文件夹位置可能不完全如调用此方法时指定。

要求

要求
最低受支持的客户端 Windows Vista [仅限桌面应用]
最低受支持的服务器 Windows Server 2008 [仅限桌面应用]
目标平台 Windows
标头 shobjidl_core.h (包括 Shobjidl.h)