首页
社区
课程
招聘
[求助]如何编程实现把一个图标文件(.ico)写到EXE文件中
2006-4-21 17:24 4588

[求助]如何编程实现把一个图标文件(.ico)写到EXE文件中

2006-4-21 17:24
4588
收藏
点赞0
打赏
分享
最新回复 (7)
雪    币: 232
活跃值: (94)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
auser 2006-4-21 17:31
2
0
reshacker可以。
雪    币: 179
活跃值: (131)
能力值: ( LV12,RANK:290 )
在线值:
发帖
回帖
粉丝
WAKU 7 2006-4-21 18:17
3
0
汗....
是编程实现

改一下标题吧
雪    币: 290
活跃值: (410)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
jmzz 2006-4-21 22:12
4
0
那就分析其资源,找到所用的ICON,再替换掉!

不知有没有API直接使用,有就更好了!
雪    币: 293
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
icersg 2006-4-22 04:22
5
0
不是用资源文件来定义程序的图标吗?我刚学Win32汇编,又说的不对的地方还请大家原谅哈。顺便引用一下《Windows环境下32位汇编语言》里面的话,不知道lz问的是不是这个。


5.2.1 图标和光标的资源定义

和菜单、加速键等资源不同,在资源脚本文件中定义图标和光标时并不是一个个像素地定义,而是指定图标和光标的文件名,由资源编译器将像素数据读入再转换成二进制格式,所以在资源定义之前要用其他工具先创建图标和光标文件。图标和静态光标文件的扩展名分别是ico和cur,还有一种扩展名为ani的动态光标文件。

光标和图标在资源文件中的定义语句是:

图标ID ICON [DISCARDABLE] 图标文件名 ;定义图标

光标ID CURSOR [DISCARDABLE] 光标文件名 ;定义光标

DISCARDABLE关键字是内存选项,表示在不用的时候可以从内存暂时卸掉,当文件名包含空格时,两边要用双引号引起来,图标ID和光标ID同样也可以用16位的整数或字符串表示,这里是几个定义的例子:

MyIcon icon “1.ico” ;把1.ico定义为ID为“MyIcon”的图标资源

1000 icon discardable 2.ico ;把2.ico定义为ID为1000的图标资源

1001 icon “big icon.ico” ;把big icon.ico定义为ID为1001的图标资源

1002 cursor “big arrow.ani” ;把big arrow.ani定义为ID为1002的光标资源

GoodCursor cursor arrow.cur ;把arrow.cur定义为ID为“GoodCursor”的光标资源

资源文件中定义的图标可以不止一个,但Windows在“我的电脑”中列出文件的时候总是使用资源中的第一个图标当做文件的图标,所以在资源脚本文件中要把想用做程序图标的图标定义语句排在最前面。

雪    币: 293
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
icersg 2006-4-22 04:30
6
0
明白lz什么意思了,估计lz想问怎么编程修改某一个Exe文件的图标资源吧?算我刚才什么都没说,大家继续。
雪    币: 214
活跃值: (40)
能力值: ( LV6,RANK:90 )
在线值:
发帖
回帖
粉丝
天涯浪人 2 2006-4-22 07:22
7
0
学习ing...
雪    币: 179
活跃值: (131)
能力值: ( LV12,RANK:290 )
在线值:
发帖
回帖
粉丝
WAKU 7 2006-4-22 12:12
8
0
最初由 jmzz 发布
那就分析其资源,找到所用的ICON,再替换掉!

不知有没有API直接使用,有就更好了!


UpdateResource可以替换掉EXE的资源,但是只能是从EXE到EXE,
从ico到EXE还没有什么办法....
游客
登录 | 注册 方可回帖
返回