06
2010

获取图标的 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

点击图片上的十字中心提交评论。