根据扩展名得到HICON

int fileNameLenth=strFileName.GetLength()-strFileName.ReverseFind('.')-1;
	CString ext=strFileName.Right(fileNameLenth);
	CString sDummyFileName = _T("empty.") + ext;
	SHFILEINFO shfi;
	memset(&shfi,0,sizeof(shfi));
	SHGetFileInfo(sDummyFileName,
		FILE_ATTRIBUTE_NORMAL,
		&shfi,
		sizeof(shfi),
		SHGFI_ICON|SHGFI_USEFILEATTRIBUTES);
	HICON hIcon=shfi.hIcon;


原文地址:https://www.cnblogs.com/hzcya1995/p/13318817.html