Поделиться через


Функция GetSaveFileNameA (commdlg.h)

[Начиная с Windows Vista открыть и сохранить как распространенные диалоговые окна были заменены диалоговым окном общего элемента. Мы рекомендуем использовать API общих диалоговых окон вместо этих диалоговых окон из библиотеки общих диалоговых окон.]

Создает диалоговое окно "Сохранить", позволяющее пользователю указать диск, каталог и имя файла для сохранения.

Синтаксис

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

Параметры

[in, out] unnamedParam1

Тип: LPOPENFILENAME

Указатель на структуру OPENFILENAME, содержащую сведения, используемые для инициализации диалогового окна. Когда GetSaveFileName возвращается, эта структура содержит сведения о выборе файла пользователя.

Возвращаемое значение

Тип: BOOL

Если пользователь указывает имя файла и нажимает кнопку ОК и функция выполнена успешно, возвращаемое значение ненулевое. Буфер, на который указывает элемент lpstrFile структуры OPENFILENAME, содержит полный путь и имя файла, указанное пользователем.

Если пользователь отменяет или закрывает диалоговое окно "Сохранить" или сообщение об ошибке, например буфер имени файла, слишком маленький, возвращаемое значение равно нулю. Чтобы получить расширенные сведения об ошибке, вызовите функцию CommDlgExtendedError, которая может возвращать одно из следующих значений:

Замечания

Диалоговое окно "Сохранить в стиле обозревателя", которое предоставляет функции пользовательского интерфейса, аналогичные проводнику Windows. Вы можете предоставить процедуру перехватчика OFNHookProc для диалогового окна "Сохранить в стиле обозревателя". Чтобы включить процедуру перехватчика, задайте флаги OFN_EXPLORER и OFN_ENABLEHOOK в элементе Flags члена структуры OPENFILENAME и укажите адрес процедуры перехватчика в элементе lpfnHook.

Windows продолжает поддерживать диалоговые окна сохранения для приложений, которые хотят поддерживать пользовательский интерфейс, согласованный с старым пользовательским интерфейсом. Чтобы отобразить диалоговое окно сохранения старого стиля, включите процедуру перехватчика OFNHookProcOld Style и убедитесь, что флаг OFN_EXPLORER не задан.

Примеры

Пример см. в статье Создание расширенного метафайла.

Заметка

Заголовок commdlg.h определяет GetSaveFileName как псевдоним, который автоматически выбирает версию ANSI или Юникод этой функции на основе определения константы препроцессора ЮНИКОДа. Сочетание использования псевдонима, нейтрального для кодирования, с кодом, не зависящим от кодирования, может привести к несоответствиям, которые приводят к ошибкам компиляции или среды выполнения. Дополнительные сведения см. в соглашениях о прототипах функций.

Требования

Требование Ценность
минимальные поддерживаемые клиентские Windows 2000 Профессиональный [только классические приложения]
минимальный поддерживаемый сервер 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

Справочник