基本信息
源码名称:提取DLL中的图标
源码大小:0.67M
文件格式:.rar
开发语言:C#
更新时间:2025-09-21
   友情提示:(无需注册或充值,赞助后即可获取资源下载链接)

     嘿,亲!知识可是无价之宝呢,但咱这精心整理的资料也耗费了不少心血呀。小小地破费一下,绝对物超所值哦!如有下载和支付问题,请联系我们QQ(微信同号):813200300

本次赞助数额为: 2 元 
   源码介绍
提取DLL中的图标资源

private void LoadIcons_Click(object sender, RoutedEventArgs e)
{
    lvIcons.Items.Clear();
    string filePath = tbFilePath.Text;

    if (!File.Exists(filePath)) return;

    // 尝试获取图标总数(最多检测1000个)
    for (int i = 0; i < 1000; i )
    {
        IntPtr[] hIcons = new IntPtr[1];
        int[] iconIds = new int[1];
        int count = PrivateExtractIcons(filePath, i, 64, 64, hIcons, iconIds, 1, 0);

        if (count <= 0) break;

        var icon = System.Drawing.Icon.FromHandle(hIcons[0]);
        var bmp = icon.ToBitmap();
        var bmpSrc = Imaging.CreateBitmapSourceFromHBitmap(
            bmp.GetHbitmap(),
            IntPtr.Zero,
            Int32Rect.Empty,
            BitmapSizeOptions.FromEmptyOptions());

        lvIcons.Items.Add(new IconData { Image = bmpSrc, Index = i, Handle = hIcons[0] });
        icon.Dispose();
        bmp.Dispose();
    }
}