GetSaveFileNameA 函数 (commdlg.h)

[从 Windows Vista 开始, “打开 ”和“ 另存为 ”常用对话框已被 “通用项”对话框取代。 建议使用通用项对话框 API,而不是通用对话框库中的这些对话框。]

创建“ 保存 ”对话框,该对话框允许用户指定要保存的文件的驱动器、目录和名称。

语法

BOOL GetSaveFileNameA(
  [in, out] LPOPENFILENAMEA unnamedParam1
);

参数

[in, out] unnamedParam1

类型: LPOPENFILENAME

指向 OPENFILENAME 结构的指针,该结构包含用于初始化对话框的信息。 当 GetSaveFileName 返回时,此结构包含有关用户的文件选择的信息。

返回值

类型: BOOL

如果用户指定文件名并单击“ 确定” 按钮,并且函数成功,则返回值为非零值。 OPENFILENAME 结构的 lpstrFile 成员指向的缓冲区包含用户指定的完整路径和文件名。

如果用户取消或关闭“ 保存 ”对话框或出现错误(例如文件名缓冲区太小),则返回值为零。 若要获取扩展错误信息,请调用 CommDlgExtendedError 函数,该函数可返回以下值之一:

注解

资源管理器样式的“ 保存 ”对话框,提供类似于 Windows 资源管理器的用户界面功能。 可以为资源管理器样式的“保存”对话框提供 OFNHookProc 挂钩过程。 若要启用挂钩过程,请在 OPENFILENAME 结构的 Flags 成员中设置OFN_EXPLOREROFN_ENABLEHOOK标志,并在 lpfnHook 成员中指定挂钩过程的地址。

对于希望维护与旧样式用户界面一致的用户界面的应用程序,Windows 继续支持旧样式的“ 保存 ”对话框。 若要显示旧样式的“ 保存 ”对话框,请启用 OFNHookProcOldStyle 挂钩过程,并确保未设置 OFN_EXPLORER 标志。

示例

有关示例,请参阅 创建增强型图元文件

注意

commdlg.h 标头将 GetSaveFileName 定义为别名,该别名根据 UNICODE 预处理器常量的定义自动选择此函数的 ANSI 或 Unicode 版本。 将非特定编码别名的使用与非非特定编码的代码混合使用可能会导致不匹配,从而导致编译或运行时错误。 有关详细信息,请参阅 函数原型的约定

要求

要求
最低受支持的客户端 Windows 2000 Professional [仅限桌面应用]
最低受支持的服务器 Windows 2000 Server [仅限桌面应用]
目标平台 Windows
标头 commdlg.h (包括 Windows.h)
Library Comdlg32.lib
DLL Comdlg32.dll
API 集 Windows 10版本 10.0.14393 中引入的 ext-ms-win-shell-comdlg32-l1-1-1 ()

另请参阅

CommDlgExtendedError

通用对话框库

概念性

GetOpenFileName

OFNHookProc

OFNHookProcOldStyle

OPENFILENAME

引用