Função ExtractIconExA (shellapi.h)
A função ExtractIconEx cria uma matriz de identificadores para ícones grandes ou pequenos extraídos do arquivo executável, da DLL ou do arquivo de ícone especificado.
Sintaxe
UINT ExtractIconExA(
[in] LPCSTR lpszFile,
[in] int nIconIndex,
[out] HICON *phiconLarge,
[out] HICON *phiconSmall,
UINT nIcons
);
Parâmetros
[in] lpszFile
Tipo: LPCTSTR
Ponteiro para uma cadeia de caracteres terminada em nulo que especifica o nome de um arquivo executável, DLL ou arquivo de ícone do qual os ícones serão extraídos.
[in] nIconIndex
Tipo: int
Especifica o índice baseado em zero do primeiro ícone a ser extraído. Por exemplo, se esse valor for zero, a função extrairá o primeiro ícone no arquivo especificado.
Se esse valor for –1 e phiconLarge e phiconSmall forem NULL, a função retornará o número total de ícones no arquivo especificado. Se o arquivo for um arquivo executável ou DLL, o valor retornado será o número de recursos RT_GROUP_ICON. Se o arquivo for um arquivo .ico, o valor retornado será 1.
Se esse valor for um número negativo e phiconLarge ou phiconSmall não for NULL, a função começará extraindo o ícone cujo identificador de recurso é igual ao valor absoluto de nIconIndex. Por exemplo, use -3 para extrair o ícone cujo identificador de recurso é 3.
[out] phiconLarge
Tipo: HICON*
Ponteiro para uma matriz de identificadores de ícone que recebe identificadores para os ícones grandes extraídos do arquivo. Se esse parâmetro for NULL, nenhum ícone grande será extraído do arquivo.
[out] phiconSmall
Tipo: HICON*
Ponteiro para uma matriz de identificadores de ícone que recebe identificadores para os ícones pequenos extraídos do arquivo. Se esse parâmetro for NULL, nenhum ícone pequeno será extraído do arquivo.
nIcons
Tipo: UINT
O número de ícones a serem extraídos do arquivo.
Valor retornado
Tipo: UINT
Se o parâmetro nIconIndex for -1 e os parâmetros phiconLarge e phiconSmall forem NULL, o valor retornado será o número de ícones contidos no arquivo especificado.
Se o parâmetro nIconIndex for qualquer valor diferente de -1 e phiconLarge ou phiconSmall não for NULL, o valor retornado será o número de ícones extraídos com êxito do arquivo.
Observação
Se a função encontrar um erro, ela retornará UINT_MAX. Nesse caso, você pode chamar GetLastError para recuperar o código de erro. Por exemplo, essa função retornará UINT_MAX se o arquivo especificado por lpszFile não puder ser encontrado enquanto o parâmetro nIconIndex for qualquer valor diferente de -1 e phiconLarge ou phiconSmall não for NULL. Nesse caso, GetLastError retorna ERROR_FILE_NOT_FOUND (2).
Comentários
Quando eles não forem mais necessários, você deverá destruir todos os ícones extraídos por ExtractIconEx chamando a função DestroyIcon .
Para recuperar as dimensões dos ícones grandes e pequenos, use essa função com os sinalizadores SM_CXICON, SM_CYICON, SM_CXSMICON e SM_CYSMICON.
Observação
O cabeçalho shellapi.h define ExtractIconEx como um alias que seleciona automaticamente a versão ANSI ou Unicode dessa função com base na definição da constante de pré-processador UNICODE. Misturar o uso do alias neutro de codificação com código que não seja neutro em codificação pode levar a incompatibilidades que resultam em erros de compilação ou de runtime. Para obter mais informações, consulte Convenções para protótipos de função.
Requisitos
Cliente mínimo com suporte | Windows XP [somente aplicativos da área de trabalho] |
Servidor mínimo com suporte | Windows 2000 Server [somente aplicativos da área de trabalho] |
Plataforma de Destino | Windows |
Cabeçalho | shellapi.h |
DLL | Shell32.dll |
Conjunto de APIs | ext-ms-win-shell32-l1-2-1 (introduzido no Windows 10, versão 10.0.10240) |