获取图标的 API 比较
HICON ExtractIcon(HINSTANCE hInst,LPCTSTR szFile,UINT nIconIndex);
ExtractIcon从资源文件(*.exe;*.dll;*.ico;*.icl)中获取指定索引位置的(大)图标。
UINT ExtractIconEx(LPCTSTR lpszFile,int nIconIndex,HICON* phiconLarge,HICON* phiconSmall,UINT nIcons);
ExtractIconEx同ExtractIcon,但可以获取大小图标、可以指定获取的图标数量。
HICON ExtractAssociatedIcon(HINSTANCE hInst,LPTSTR lpIconPath,LPWORD lpiIcon);
ExtractAssociatedIcon 获取文件关联的(大)图标(资源管理器显示的图标)
DWORD_PTR SHGetFileInfo(LPCTSTR pszPath,DWORD dwFileAttributes,SHFILEINFO *psfi,UINT cbFileInfo,UINT uFlags);
SHGetFileInfo 通过指定 uFlags 可以获取文件关联的大小图标(资源管理器显示的图标)
HANDLE LoadImage(HINSTANCE hinst,LPCTSTR lpszName,UINT uType,int cxDesired,int cyDesired,UINT fuLoad);
LoadImage 从图像文件加载指定大小的图标
HICON LoadIcon(HINSTANCE hInst, LPCTSTR szIconName);
LoadIcon 从进程里获取图标

Leave a Reply