Функция 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 по-прежнему поддерживает диалоговые окна сохранения старого стиля для приложений, которые хотят поддерживать пользовательский интерфейс в соответствии со старым пользовательским интерфейсом. Чтобы отобразить диалоговое окно Сохранения в старом стиле, включите процедуру перехватчика OFNHookProcOldStyle и убедитесь, что флаг OFN_EXPLORER не установлен.

Примеры

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

Примечание

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

Требования

Требование Значение
Минимальная версия клиента Windows 2000 Professional [только классические приложения]
Минимальная версия сервера Windows 2000 Server [только классические приложения]
Целевая платформа Windows
Header 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

Справочные материалы