首页 新闻 会员 周边

带图标的dll是怎么做出来的,如图

0
悬赏园豆:50 [已解决问题] 解决于 2015-06-21 15:22

 

比如路径是:D:\Program Files (x86)\Tencent\QQ\Bin\MainFrame.dll

 

 

 

D:\Program Files (x86)\Thunder Network\Xmp\V5.1.12.3487\Bin\codecs\scmpack.dll

不要呵呵的主页 不要呵呵 | 初学一级 | 园豆:124
提问于:2015-06-17 14:01
< >
分享
最佳答案
1

直接设置是不行的,该注册表可以设置图标。或许这些软件安装的时候,做了处理吧。

收获园豆:25
幻天芒 | 高人七级 |园豆:37175 | 2015-06-17 14:16

我刚才新建了一个xp的虚拟机,把上面的2个dll放置到xp系统上面,显示的是正常dll的图标。

因为手头没有win7的镜像,暂时验证不了。

不过刚才用exescope打开这2个dll,发现图标都存储在里面。

 

现在我的怀疑有2个可能:

1、你说的通过注册表设置的

2、win7的系统支持dll添加icon

 

具体要等win7镜像下载完成后才能进一步测试。

不要呵呵 | 园豆:124 (初学一级) | 2015-06-17 15:48

@不要呵呵: 也有可能是用软件压进去的,而且这些都不是C#编写的,说不定其他语言可以直接打包icon呢。

幻天芒 | 园豆:37175 (高人七级) | 2015-06-17 15:54
其他回答(2)
0

Windows 所有自带图标都在一个 dll 文件里(%SystemRoot%\system32\SHELL32.dll),所以,大概可以认为 dll 也可能是一种 Windows 能够解析的图片格式。

收获园豆:25
飞扬的尘埃 | 园豆:1318 (小虾三级) | 2015-06-17 15:55

我个人觉得,dll不能算图片格式,windows读取的只是pe段里面的图片资源,SHELL32.dll里面有很多图片资源,windows给文件修改快捷方式的时候,可以指定shell32.dll文件,然后选择对应的编号。

 

我刚才用vs写了一个dll。然后pdf的图标插入进去了。生成的dll就是pdf的图标。如图

 

 

然后。我把我编写的dll复制到一个朋友的win7电脑上。也能正确显示pdf的图标。

放到xp虚拟机上后。还是xp默认的icon。

我觉得这样可以说明win7支持识别带icon的dll的。

若要证明这个观点是否是正确的,我想还是需要看win7对pe部分的sdk。

 

支持(0) 反对(0) 不要呵呵 | 园豆:124 (初学一级) | 2015-06-17 17:15
1

win7系统支持显示dll的icon

不要呵呵 | 园豆:124 (初学一级) | 2015-06-21 15:21
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册