绘制文件大图标(256*256)

本文提供了一个使用C++编写的示例程序,演示了如何从指定路径的应用程序中获取图标并将其显示出来的方法。该程序利用Windows API函数如GetDC、SHGetFileInfo、SHGetImageList等来实现。
#include <windows.h>
#include <CommCtrl.h>
#include <commoncontrols.h>

int WINAPI WinMain(
    HINSTANCE /* hInstance */,
    HINSTANCE /* hPrevInstance */,
    LPSTR /* lpCmdLine */,
    int /* nCmdShow */
    )
{
    HDC hdc = NULL;
    hdc = GetDC(0);

    SHFILEINFO sfi = {0};
    SHGetFileInfo("C:\\Program Files\\Internet Explorer\\iexplore.exe", -1, &sfi, sizeof(sfi), SHGFI_SYSICONINDEX);
    IImageList* imageList;
    SHGetImageList(SHIL_JUMBO, IID_IImageList, (void**)&imageList);
    
    HICON hIcon;
    imageList->GetIcon(sfi.iIcon, ILD_TRANSPARENT, &hIcon);
    
    DrawIconEx(hdc, 0, 0, hIcon, 256, 256, NULL, NULL, DI_NORMAL);
    
    imageList->Release();
    DestroyIcon(hIcon);
    ReleaseDC(0,hdc);

    return 0;
}

 

转载于:https://www.cnblogs.com/wangzexi/p/3831334.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值