系统图标

来源:互联网 发布:藏汉大词典软件 编辑:程序博客网 时间:2024/06/10 03:22

取系统所有的:
    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,这个是图标句柄,可以使用看看,应该是我的电脑的图标

原创粉丝点击