GetOpenFileNameA 함수(commdlg.h)

[Windows Vista부터 일반 항목 대화 상자로 열기저장일반 대화 상자가 대체되었습니다. 공통 대화 상자 라이브러리에서 이러한 대화 상자 대신 공통 항목 대화 상자 API를 사용하는 것이 좋습니다.]

사용자가 열 파일 또는 파일 집합의 드라이브, 디렉터리 및 이름을 지정할 수 있는 열기 대화 상자를 만듭니다.

구문

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

매개 변수

[in, out] unnamedParam1

형식: LPOPENFILENAME

대화 상자를 초기화하는 데 사용되는 정보를 포함하는 OPENFILENAME 구조체에 대한 포인터입니다. GetOpenFileName이 반환되면 이 구조체에는 사용자의 파일 선택에 대한 정보가 포함됩니다.

반환 값

형식: BOOL

사용자가 파일 이름을 지정하고 확인 단추를 클릭하면 반환 값이 0이 아닌 값이 됩니다. OPENFILENAME 구조체의 lpstrFile 멤버가 가리키는 버퍼에는 사용자가 지정한 전체 경로와 파일 이름이 포함됩니다.

사용자가 열기 대화 상자를 취소하거나 닫거나 오류가 발생하면 반환 값은 0입니다. 확장된 오류 정보를 얻으려면 다음 값 중 하나를 반환할 수 있는 CommDlgExtendedError 함수를 호출합니다.

설명

Explorer 스타일 열기 대화 상자는 Windows Explorer 유사한 사용자 인터페이스 기능을 제공합니다. Explorer 스타일 열기 대화 상자에 OFNHookProc 후크 프로시저를 제공할 수 있습니다. 후크 프로시저를 사용하도록 설정하려면 OPENFILENAME 구조체의 Flags 멤버에서 OFN_EXPLOREROFN_ENABLEHOOK 플래그를 설정하고 lpfnHook 멤버에서 후크 프로시저의 주소를 지정합니다.

Windows는 이전 스타일의 사용자 인터페이스와 일치하는 사용자 인터페이스를 유지하려는 애플리케이션에 대해 이전 스타일의 열기 대화 상자를 계속 지원합니다. 이전 스타일의 열기 대화 상자를 표시하려면 OFNHookProcOldStyle 후크 프로시저를 사용하도록 설정하고 OFN_EXPLORER 플래그가 설정되지 않았는지 확인합니다.

사용자가 파일 대신 디렉터리를 선택할 수 있는 대화 상자를 표시하려면 SHBrowseForFolder 함수를 호출합니다.

여러 파일을 선택할 때 파일 이름의 총 문자 제한은 함수 버전에 따라 달라집니다.

  • ANSI: 32k 제한
  • 유니코드: 제한 없음

예제

예제는 파일 열기를 참조하세요.

참고

commdlg.h 헤더는 GETOpenFileName을 유니코드 전처리기 상수의 정의에 따라 이 함수의 ANSI 또는 유니코드 버전을 자동으로 선택하는 별칭으로 정의합니다. 인코딩 중립 별칭을 인코딩 중립이 아닌 코드와 혼합하면 컴파일 또는 런타임 오류가 발생하는 불일치가 발생할 수 있습니다. 자세한 내용은 함수 프로토타입에 대한 규칙을 참조하세요.

요구 사항

요구 사항
지원되는 최소 클라이언트 Windows 2000 Professional[데스크톱 앱만]
지원되는 최소 서버 Windows 2000 Server[데스크톱 앱만]
대상 플랫폼 Windows
헤더 commdlg.h(Windows.h 포함)
라이브러리 Comdlg32.lib
DLL Comdlg32.dll
API 세트 ext-ms-win-shell-comdlg32-l1-1-1(Windows 10 버전 10.0.14393에 도입됨)

추가 정보

CommDlgExtendedError

일반 대화 상자 라이브러리

개념

GetSaveFileName

OFNHookProc

OFNHookProcOldStyle

OPENFILENAME

기타 리소스

참조

SHBrowseForFolder