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 [仅限桌面应用]
目标平台 窗户
标头 commdlg.h (包括 Windows.h)
Comdlg32.lib
DLL Comdlg32.dll
API 集 ext-ms-win-shell-comdlg32-l1-1-1(在 Windows 10 版本 10.0.14393 中引入)

另请参阅

CommDlgExtendedError

通用对话框库

概念

GetOpenFileName

OFNHookProc

OFNHookProcOldStyle

OPENFILENAME

参考