吾爱破解 - LCG - LSG |安卓破解|病毒分析|www.52pojie.cn

 找回密码
 注册[Register]

QQ登录

只需一步,快速开始

查看: 1014|回复: 2
收起左侧

[求助] 求助提取exe文件图标问题

[复制链接]
zyjsuper 发表于 2022-9-30 16:46
话不多说,上代码,使用这个代码提取到图标文件格式仍然是png,哪里出问题了,万能的坛友么,赐教下吧。
[C#] 纯文本查看 复制代码
 private void button1_Click(object sender, EventArgs e)
        {

            try
            {
                // Image img = System.Drawing.Icon.ExtractAssociatedIcon(textBox1.Text).ToBitmap();
                string filePath = textBox1.Text;
                var filename = System.IO.Path.GetFileName(textBox1.Text);
                string savePath = Environment.GetEnvironmentVariable("USERPROFILE") + "\\Desktop\\AppIcos\\";
                if (!Directory.Exists(savePath)) Directory.CreateDirectory(savePath);
                // img.Save(savePath + filename +".ico");
                var iconTotalCount = PrivateExtractIcons(filePath, 0, 0, 0, null, null, 0, 0);

                //用于接收获取到的图标指针
                IntPtr[] hIcons = new IntPtr[iconTotalCount];
                //对应的图标id
                int[] ids = new int[iconTotalCount];
                //成功获取到的图标个数
                var successCount = PrivateExtractIcons(filePath, 0, 256, 256, hIcons, ids, iconTotalCount, 0);
                //遍历并保存图标
                for (var i = 0; i < successCount; i++)
                {
                    //指针为空,跳过
                    if (hIcons[i] == IntPtr.Zero) continue;
                    using (var ico = Icon.FromHandle(hIcons[i]))
                    {
                        using (var myIcon = ico.ToBitmap())
                        {
                            myIcon.Save(savePath + ids[i].ToString("000") + ".ico", ImageFormat.Icon);
                        }
                    }
                    //内存回收
                    DestroyIcon(hIcons[i]);
                }
                MessageBox.Show("图标已经提取到桌面的AppIcos文件中。");
            }
            catch(Exception ex) {
                MessageBox.Show(ex.ToString());
            }

发帖前要善用论坛搜索功能,那里可能会有你要找的答案或者已经有人发布过相同内容了,请勿重复发帖。

愤怒的小西瓜 发表于 2022-9-30 18:25
直接用Quick Any2Ico一键搞定  还写啥代码呀
canghaisui 发表于 2022-9-30 21:02
您需要登录后才可以回帖 登录 | 注册[Register]

本版积分规则 警告:本版块禁止回复与主题无关非技术内容,违者重罚!

快速回复 收藏帖子 返回列表 搜索

RSS订阅|小黑屋|处罚记录|联系我们|吾爱破解 - LCG - LSG ( 京ICP备16042023号 | 京公网安备 11010502030087号 )

GMT+8, 2024-4-27 06:57

Powered by Discuz!

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表