易语言取exe图标

易语言取exe图标,第1张

.版本 2

.支持库 eSkin

.支持库 xplib

.支持库 shell

.支持库 eAPI.程序集 窗口程序集1

.程序集变量 实名, 文本

.程序集变量 图标数, 整数型.子程序 __启动窗口_创建完毕写到文件 (取运行目录 () + “skn”, #皮肤)

易皮肤_载入皮肤 (取运行目录 () + “skn”, )

XP风格 (3)

编辑框1.内容 = 取特定目录 (3).子程序 _打开_被单击

.局部变量 文件名, 文本型

.局部变量 n, 整数型图片框1.图片 = { }

通用对话框1.过滤器 = “资源文件(*.dll*.exe)|*.dll*.exe”

.如果真 (通用对话框1.打开 ())

文件名 = 通用对话框1.文件名

实名 = 取短文件名 (文件名) + “.ico”

n = 提取资源文件图标 (文件名, 0, 取特定目录 (#临时文件目录) + 实名, )

.如果 (n = 0)

信息框 (“该文件没有图标”, 0, )

.否则

图片框1.图片 = 读入文件 (取特定目录 (#临时旅茄昌文件目录) + 实名).如果结束.如果真结束

图标数 = 0

编辑框2.内容 = 通用对话框1.文件名

图标数 = 提取资源文件图标 (编辑框2.内容, 1, , )

.如果 (图标数 > 0)

信息框 (“该文件内一共有 ” + 到文本 (图标数) + “ 个图标...”, #信息图标, “恭喜...”)

.否则

信息框 (“该文件内无图标哦...”, #警告图标, “提示信息”)

.如果结束 .子程序 取短文件名, 文本型

.参数 文件名, 文本型

.局部变量 m, 文本型

.局部变量 短文件名, 文本型m = 取文本右边 (文件名, 取纳高文本长度 (文件名) - 倒找文本 (文件名, “\”, , 假))

短文件名 = 取文本左边 (m, 倒找文本 (m, “.”, , 假) - 1)

返回 (短文件名).子程序 _保存_被单击

.局部变量 序号, 整数型

浏览文件夹 (“选择要保存到的文件夹”, )

.计次循拆扒环首 (图标数, 序号)

提取资源文件图标 (编辑框2.内容, 0, 编辑框1.内容 + “图标” + 到文本 (序号) + “.ico”, 序号)

_启动窗口.标题 = “正在提取: ” + 编辑框1.内容 + “图标” + 到文本 (序号) + “.ico”

延时 (20)

.计次循环尾 ()

_启动窗口.标题 = “文件图标提取器”

信息框 (“图标提取完毕...”, #信息图标, “恭喜...”)

自己优化一下吧,这个是没上面大问题了。

.版本 2

.支持库 iext2

.支持库 iext

.支持库 shell

.程序集 窗口程序集1

.程序集变量 数组, 文本型, , "0"

.程序集变量 配置路径, 文本型

.子程序 __启动窗口_创建完毕

.局部变量 i, 整数型

.局部变量 temp, 文本型

.局部变量 图片组, 字节集

.局部变量 file, 文本型

配置路径 = 取运行目录 () + “\data.ini”

.如果真 (文件是否存在 (配置路径) = 假)

写配置项 (配置路径, “USER”, , )

.如果真结束

按钮1.标题 = “添加程序”

图片组 = 建空图片组 (32, 32)

temp = “进入循环”

.判断循环首 (temp ≠ “”)

i = i + 1

temp = 读余腊配置项 (配置路径, “USER”, 到文本 (i), )

.如果真 (temp ≠ “”)

加入成员 (数组, temp)

提取加入图片 (图片组, temp, 0, 假)

.如果真结束

.判断循环尾 ()

超级列表框1.图片组 = 图片组

.计次循环首 (取早誉数组成员数 (数组), i)

file = 取文件名 (数组 [i])

超级列表框1.插入表项 (i - 1, file, i - 1, , , )

.计次循环尾 ()

.子程序 _按钮1_被单击

.局部变量 i, 整数型

.局部变量 temp, 文本型

通用对话框1.过滤器 = “(*.exe)|*.exe”

.如陆毁段果真 (通用对话框1.打开 () = 假)

信息框 (“请选择正确路径!”, 0, )

返回 ()

.如果真结束

temp = “进入循环”

.判断循环首 (temp ≠ “”)

i = i + 1

temp = 读配置项 (配置路径, “USER”, 到文本 (i), )

.如果真 (temp = “”)

写配置项 (配置路径, “USER”, 到文本 (i), 通用对话框1.文件名)

.如果真结束

.判断循环尾 ()

清除数组 (数组)

超级列表框1.全部删除 ()

__启动窗口_创建完毕 ()

.子程序 取文件名, 文本型

.参数 文件名, 文本型

.局部变量 temp, 文本型, , "0"

.局部变量 test, 文本型, , "0"

temp = 分割文本 (文件名, “\”, )

test = 分割文本 (temp [取数组成员数 (temp)], “.”, )

返回 (test [1])

.子程序 _超级列表框1_被双击, 逻辑型

.参数 横向位置, 整数型

.参数 纵向位置, 整数型

.参数 功能键状态, 整数型

.如果真 (超级列表框1.现行选中项 ≠ 1)

执行 (, 数组 [超级列表框1.现行选中项 + 1], , , )


欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/yw/12490807.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2025-08-25
下一篇2025-08-25

发表评论

登录后才能评论

评论列表(0条)

    保存