getWinSystemIcon
2024-10-19 11:45:10
#include <QtGui/QImage>
#include <QtGui/QPixmap>
void getSystemIcon(const chConstStringA& fileType, xPixmap& dst)
{
if (fileType.empty())
{
return;
}
CoInitialize(NULL);
SHFILEINFOA sfi = { 0 };
// 除了SHGFI_ICON之外还有SHGFI_LARGEICON(大图标), SHGFI_SMALLICON(小图标)
SHGetFileInfoA(fileType.c_str(), 0, &sfi, sizeof(sfi), SHGFI_USEFILEATTRIBUTES | SHGFI_ICON);
QImage image;
if (sfi.hIcon != NULL)
{
QPixmap pixIcon = QPixmap::fromWinHICON(sfi.hIcon);
if (!pixIcon.isNull())
{
image = pixIcon.toImage();
image = image.scaled(QSize(30, 30), Qt::KeepAspectRatio);
dst.loadFromPixelData((xPixel*)image.constBits(), image.width(), image.height());
}
DestroyIcon(sfi.hIcon);
}
CoUninitialize();
}
最新文章
- [转]NopCommerce How to code my own payment method
- Objective-C 利用OC的消息机制,使用Method Swizzling进行方法修改
- 为GDI函数增加透明度处理
- EasyUI DataGrid分页数据绑定
- 简单的ftpserver设置
- objective-c 中数据类型之中的一个 几何数据类型(CGPoint,CGSize,CGRect)
- .Net中Web增加加密狗管理
- Android解析中国天气接口JSon数据,应用于天气查询!
- Java-ServletContextListener
- Jenkins 集群搭建
- 【MySQL】sql_mode引起的一个问题和总结
- XSplit Quality, VBV-Buffer, VBV-Maxrate and Preset Settings
- 方法名太多,使用方法的重载(overload)来解决
- 雷林鹏分享:jQuery EasyUI 表单 - 格式化下拉框
- UI5-学习篇-9-本地Eclipse UI5应用发布到SAP前端服务器
- [转载]Core Elements of a Program
- c++中的复合类型
- tapd
- python 生成图表
- Spinner的用法