我正在使用Windows应用程序,接收电子邮件.虽然这,我想在下载它们之前显示附件的图标.在那一刻,我有一个MimeType.
有没有办法只从MimeType中获取系统图标?
下载附件后,我可以使用SHGetFileInfo
,但我想在下载之前有图标。
我正在使用Windows应用程序,接收电子邮件.虽然这,我想在下载它们之前显示附件的图标.在那一刻,我有一个MimeType.
有没有办法只从MimeType中获取系统图标?
下载附件后,我可以使用SHGetFileInfo
,但我想在下载之前有图标。
1条答案
按热度按时间o7jaxewo1#
是的,您可以检索特定文件类型(由MIME类型确定)的系统图标,而无需实际将文件存储在磁盘上。要在Windows上实现此目的,您可以使用
SHGetFileInfo
函数沿着SHGFI_USEFILEATTRIBUTES
标志。下面是一个简单的C++例子:
字符串
将
image/jpeg
替换为附件的MIME类型。此代码检索与指定文件类型关联的图标,而无需磁盘上的实际文件。确保包含必要的头文件(
Windows.h
和ShlObj.h
)并链接到所需的库。请记住在应用程序中适当地处理错误和边缘情况。