The ExtractAssociatedIcon function returns a handle to an indexed icon found in a file or an icon found in an associated executable file.
Syntax
HICON ExtractAssociatedIcon(
HINSTANCE hInst,
LPTSTR lpIconPath,
LPWORD lpiIcon
);
Parameters
- hInst
-
[in] Specifies the instance of the application calling the function.
- lpIconPath
-
[in] Pointer to a string that specifies the full path and file name of the file that contains the icon. The function extracts the icon handle from that file, or from an executable file associated with that file. If the icon handle is obtained from an executable file, the function stores the full path and file name of that executable in the string pointed to by lpIconPath.
- lpiIcon
-
[in, out] Pointer to a WORD that specifies the index of the icon whose handle is to be obtained. If the icon handle is obtained from an executable file, the function stores the icon's identifier in the WORD pointed to by lpiIcon.
Return Value
If the function succeeds, the return value is an icon handle. If the icon is extracted from an associated executable file, the function stores the full path and file name of the executable file in the string pointed to by lpIconPath, and stores the icon's identifier in the WORD pointed to by lpiIcon.
If the function fails, the return value is NULL.
Remarks
You must destroy the icon handle returned by ExtractAssociatedIcon by calling the DestroyIcon function.
The ExtractAssociatedIcon function first looks for the indexed icon in the file specified by lpIconPath. If the function cannot obtain the icon handle from that file, and the file has an associated executable file, it looks in that executable file for an icon. Associations with executable files are based on file name extensions, are stored in the per-user part of the registry, and can be defined using File Manager's Associate command.
Function Information
| Minimum DLL Version | shell32.dll |
|---|
| Header | Declared in Shellapi.h |
|---|
| Import library | Shell32.lib |
|---|
| Minimum operating systems |
Windows 95, Windows NT 3.5 |
|---|
| Unicode | Implemented as
ANSI version. |
|---|
See Also