基本信息
源码名称:提取DLL中的图标
源码大小:0.67M
文件格式:.rar
开发语言:C#
更新时间:2025-09-21
友情提示:(无需注册或充值,赞助后即可获取资源下载链接)
嘿,亲!知识可是无价之宝呢,但咱这精心整理的资料也耗费了不少心血呀。小小地破费一下,绝对物超所值哦!如有下载和支付问题,请联系我们QQ(微信同号):813200300
本次赞助数额为: 2 元×
微信扫码支付:2 元
×
请留下您的邮箱,我们将在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();
}
}
提取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();
}
}