ExtractIconExA 함수(shellapi.h)
ExtractIconEx 함수는 지정된 실행 파일, DLL 또는 아이콘 파일에서 추출된 크거나 작은 아이콘에 대한 핸들 배열을 만듭니다.
구문
UINT ExtractIconExA(
[in] LPCSTR lpszFile,
[in] int nIconIndex,
[out] HICON *phiconLarge,
[out] HICON *phiconSmall,
UINT nIcons
);
매개 변수
[in] lpszFile
형식: LPCTSTR
아이콘을 추출할 실행 파일, DLL 또는 아이콘 파일의 이름을 지정하는 null로 끝나는 문자열에 대한 포인터입니다.
[in] nIconIndex
형식: int
추출할 첫 번째 아이콘의 인덱스(0부터 시작)를 지정합니다. 예를 들어 이 값이 0이면 함수는 지정된 파일의 첫 번째 아이콘을 추출합니다.
이 값이 –1이고 phiconLarge 및 phiconSmall 이 모두 NULL인 경우 함수는 지정된 파일의 총 아이콘 수를 반환합니다. 파일이 실행 파일 또는 DLL인 경우 반환 값은 RT_GROUP_ICON 리소스의 수입니다. 파일이 .ico 파일인 경우 반환 값은 1입니다.
이 값이 음수이고 phiconLarge 또는 phiconSmall 이 NULL이 아닌 경우 함수는 리소스 식별자가 nIconIndex의 절대 값과 같은 아이콘을 추출하여 시작합니다. 예를 들어 -3을 사용하여 리소스 식별자가 3인 아이콘을 추출합니다.
[out] phiconLarge
형식: HICON*
파일에서 추출된 큰 아이콘에 대한 핸들을 수신하는 아이콘 핸들 배열에 대한 포인터입니다. 이 매개 변수가 NULL이면 파일에서 큰 아이콘이 추출되지 않습니다.
[out] phiconSmall
형식: HICON*
파일에서 추출된 작은 아이콘에 대한 핸들을 수신하는 아이콘 핸들 배열에 대한 포인터입니다. 이 매개 변수가 NULL이면 파일에서 작은 아이콘이 추출되지 않습니다.
nIcons
형식: UINT
파일에서 추출할 아이콘 수입니다.
반환 값
형식: UINT
nIconIndex 매개 변수가 -1이고 phiconLarge 및 phiconSmall 매개 변수가 모두 NULL인 경우 반환 값은 지정된 파일에 포함된 아이콘 수입니다.
nIconIndex 매개 변수가 -1 이외의 값이고 phiconLarge 또는 phiconSmall이 NULL이 아닌 경우 반환 값은 파일에서 성공적으로 추출된 아이콘 수입니다.
참고
함수에 오류가 발생하면 UINT_MAX 반환합니다. 이 경우 GetLastError 를 호출하여 오류 코드를 검색할 수 있습니다. 예를 들어 nIconIndex 매개 변수가 -1 이외의 값이고 phiconLarge 또는 phiconSmall이 NULL이 아닌 경우 이 함수는 lpszFile으로 지정된 파일을 찾을 수 없는 경우 UINT_MAX 반환합니다. 이 경우 GetLastError 는 ERROR_FILE_NOT_FOUND (2)를 반환합니다.
설명
더 이상 필요하지 않은 경우 DestroyIcon 함수를 호출하여 ExtractIconEx에서 추출한 모든 아이콘을 삭제해야 합니다.
크고 작은 아이콘의 크기를 검색하려면 SM_CXICON, SM_CYICON, SM_CXSMICON 및 SM_CYSMICON 플래그와 함께 이 함수를 사용합니다.
참고
shellapi.h 헤더는 EXTRACTIconEx를 유니코드 전처리기 상수의 정의에 따라 이 함수의 ANSI 또는 유니코드 버전을 자동으로 선택하는 별칭으로 정의합니다. 인코딩 중립 별칭을 인코딩 중립이 아닌 코드와 혼합하면 컴파일 또는 런타임 오류가 발생하는 불일치가 발생할 수 있습니다. 자세한 내용은 함수 프로토타입에 대한 규칙을 참조하세요.
요구 사항
지원되는 최소 클라이언트 | Windows XP [데스크톱 앱만 해당] |
지원되는 최소 서버 | Windows 2000 Server[데스크톱 앱만] |
대상 플랫폼 | Windows |
헤더 | shellapi.h |
DLL | Shell32.dll |
API 세트 | ext-ms-win-shell-shell32-l1-2-1(Windows 10 버전 10.0.10240에 도입됨) |