#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();
}

getWinSystemIcon的更多相关文章

随机推荐

  1. Ajax跨域请求

    客户端前台: //浏览器支持跨域访问,置于Ajax方法前$.support.cors = true; 服务器后台: //设置服务器端对于CORS的跨域请求支持,置于后台方法第一行 Response.A ...

  2. Bootstrap框架(基础篇)

    本文引用慕课网http://www.imooc.com/learn/141  作者大漠  讲的很详细,我没有全篇都引用,其中很多是添加了自己的一些理解. Bootstrap框架是基于JQuery 所以 ...

  3. android platform下载地址

    大陆直接访问Android的光放网站一般情况下比较困难,特此列出了Android各个SDK版本的直接下载地址. ADT 23.0.4:https://dl.google.com/android/ADT ...

  4. border在IE6设置transparent无效

    在ie6下给border设置transparent是无效的,解决办法如下: _border-color:tomato; /*For IE6-*/ _filter:chroma(color=tomato ...

  5. ZeroC Ice 暂记

    摘自: http://weibo.com/p/1001603869896789339575 原文地址: http://www.oschina.net/question/865233_242146 吴治 ...

  6. vsftp 根据用户设置

    #vsftpd.conf ###############pam_service_name=vsftpduserlist_enable=YEStcp_wrappers=YESlocal_root=/da ...

  7. UIImage类扩展返回一个带边框的圆形图片

    /** * 将image转换为圆型带边框的图片(最好写一个UIImage的类扩展) * * @param name 图片的名字 * @param borderWidth 外层边框的宽度 * @para ...

  8. for+next()实现数组的遍历及while list each 的使用

    //要求使用for循环语句来完成该数组的遍历//输出每一项的键名和对应值:    $a = array(           'a' => 34,           5 => 51,  ...

  9. 4中map遍历的方法

    public static void main(String[] args) { Map<String, String> map = new HashMap<String, Stri ...

  10. 使用Windows上的Eclipse 远程调试 linux下的Tomcat

    1:修改Linux上Tomcat的catalina.sh,第一行添加declare -x CATALINA_OPTS="-Xdebug -Xrunjdwp:transport=dt_sock ...