取系统所有的:
himlSmall = (HIMAGELIST)SHGetFileInfo((LPCTSTR)_T("C://"),
0,
&sfi,
sizeof(SHFILEINFO),
SHGFI_SYSICONINDEX | SHGFI_SMALLICON);
取小图标,C盘为系统盘,然后可以使用
HRESULT SHGetSpecialFolderLocation(
HWND hwndOwner,
int nFolder,
LPITEMIDLIST *ppidl
);
nFolder赋值CSIDL_DRIVES,将LPITEMIDLIST *ppidl用于下面
DWORD_PTR SHGetFileInfo(
LPCTSTR pszPath,
DWORD dwFileAttributes,
SHFILEINFO *psfi,
UINT cbFileInfo,
UINT uFlags
);
来操作这个HIMAGELIST
而,直接选取特定的
试试先用
HRESULT SHGetSpecialFolderLocation(
HWND hwndOwner,
int nFolder,
LPITEMIDLIST *ppidl
);
nFolder赋值CSIDL_DRIVES,将LPITEMIDLIST *ppidl用于下面
DWORD_PTR SHGetFileInfo(
LPCTSTR pszPath,
DWORD dwFileAttributes,
SHFILEINFO *psfi,
UINT cbFileInfo,
UINT uFlags
);
它的第三个参数
typedef struct _SHFILEINFO{
HICON hIcon;
int iIcon;
DWORD dwAttributes;
TCHAR szDisplayName[MAX_PATH];
TCHAR szTypeName[80];
} SHFILEINFO;
中有HICON,这个是图标句柄,可以使用看看,应该是我的电脑的图标