Функция GetOpenFileNameA (commdlg.h)
[Начиная с Windows Vista открыть и сохранить как распространенные диалоговые окна были заменены диалоговым окном общего элемента. Мы рекомендуем использовать API общих диалоговых окон вместо этих диалоговых окон из библиотеки общих диалоговых окон.]
Создает диалоговое окно Open, позволяющее пользователю указать диск, каталог и имя файла или набора файлов, которые нужно открыть.
Синтаксис
BOOL GetOpenFileNameA(
[in, out] LPOPENFILENAMEA unnamedParam1
);
Параметры
[in, out] unnamedParam1
Тип: LPOPENFILENAME
Указатель на структуру OPENFILENAME, содержащую сведения, используемые для инициализации диалогового окна. Если GetOpenFileName возвращается, эта структура содержит сведения о выборе файла пользователя.
Возвращаемое значение
Тип: BOOL
Если пользователь задает имя файла и нажимает кнопку ОК, возвращаемое значение ненулевое. Буфер, на который указывает элемент lpstrFile структуры OPENFILENAME, содержит полный путь и имя файла, указанное пользователем.
Если пользователь отменяет или закрывает диалоговое окно открытия
Замечания
Диалоговое окно "Открыть в стиле обозревателя" предоставляет функции пользовательского интерфейса, аналогичные проводнику Windows. Вы можете предоставить процедуру перехватчика
Windows продолжает поддерживать диалоговое окно "Открыть" для приложений, которые хотят поддерживать пользовательский интерфейс в соответствии со старым пользовательским интерфейсом. Чтобы отобразить диалоговое окно Открыть, включите процедуру перехватчика OFNHookProcOld Style и убедитесь, что флаг OFN_EXPLORER не задан.
Чтобы отобразить диалоговое окно, позволяющее пользователю выбрать каталог вместо файла, вызовите функцию SHBrowseForFolder.
Обратите внимание, что при выборе нескольких файлов общее ограничение символов для имен файлов зависит от версии функции.
- ANSI: ограничение в 32 кб
- Юникод: нет ограничений
Примеры
Пример см. в разделе Открытиефайла.
Заметка
Заголовок commdlg.h определяет GetOpenFileName как псевдоним, который автоматически выбирает версию 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) |
См. также
библиотека общих диалоговых окон
концептуальные
другие ресурсы
Справочник