当前位置:首页 > 技术心得 > 正文内容

如何给程序添加超大图标(EXE大尺寸图标)

xjtudll4年前 (2022-10-01)技术心得6540

要点:

1、制作多分辨率ICON文件

2、清空图标缓存,使图标文件生效

 

自己写的程序,如果更换了图标,编译出来,超大图标显示就会发现图标并没有跟着放大。

那么问题来了,就换个图标效果就不同了,很明显时图标有问题。

用eXeScope打开vs2013编译出来的MFC对话框程序可以看到如下图:

20170308111423189

这不止一个图标,而我们替换图标之后,编译,打开发现就只有一个图标,因此可以判断的确是ico图标的问题。

在qq群里问了下其他的朋友,有朋友提示ico图标文件可以包含很多组图标,可以是一个集合。

知道这一点很重要,那么只需要重新制作一个ico图标即可。

下载安装IconWorkshop软件

打开一张图片然后点击这里,如下图:

20170308112846977

然后如下设置

20170308112932658

 

设置好之后,点击ok,然后Ctrl+S保存即可,这样ico图标集合就制作好了。

然后用这个图标替换,重新编译,刷新一下系统图标缓存,然后改变图标缩放,就可以看到效果了。

rem 关闭Windows外壳程序explorer

taskkill /f /im explorer.exe

rem 清理系统图标缓存数据库

attrib -h -s -r "%userprofile%\AppData\Local\IconCache.db"

del /f "%userprofile%\AppData\Local\IconCache.db"

attrib /s /d -h -s -r "%userprofile%\AppData\Local\Microsoft\Windows\Explorer\*"

del /f "%userprofile%\AppData\Local\Microsoft\Windows\Explorer\thumbcache_32.db"

del /f "%userprofile%\AppData\Local\Microsoft\Windows\Explorer\thumbcache_96.db"

del /f "%userprofile%\AppData\Local\Microsoft\Windows\Explorer\thumbcache_102.db"

del /f "%userprofile%\AppData\Local\Microsoft\Windows\Explorer\thumbcache_256.db"

del /f "%userprofile%\AppData\Local\Microsoft\Windows\Explorer\thumbcache_1024.db"

del /f "%userprofile%\AppData\Local\Microsoft\Windows\Explorer\thumbcache_idx.db"

del /f "%userprofile%\AppData\Local\Microsoft\Windows\Explorer\thumbcache_sr.db"

rem 清理 系统托盘记忆的图标

echo y|reg delete "HKEY_CLASSES_ROOT\Local Settings\Software\Microsoft\Windows\CurrentVersion\TrayNotify" /v IconStreams

echo y|reg delete "HKEY_CLASSES_ROOT\Local Settings\Software\Microsoft\Windows\CurrentVersion\TrayNotify" /v PastIconsStream

rem 重启Windows外壳程序explorer

start explorer

 

复制以上内容保存到 强制刷新图标缓存.bat 双击即可刷新系统图标缓存。  

最后附一张最终效果图:

20170308113030909

扫描二维码推送至手机访问。

版权声明:本文由鸟的天空发布,如需转载请注明出处。

本文链接:http://www.xjtudll.cn/Exp/651/

标签: WinForm
分享给朋友:

“如何给程序添加超大图标(EXE大尺寸图标)” 的相关文章

按键精灵 获取控件内容(非窗体标题)

按键精灵 获取控件内容(非窗体标题)

想抓一个软件的 一个类名是Edit的输入框中的内容,句柄已经正确找到了,然后用精灵8自带的 Plugin.Window.GetText(Hwnd) 命令来获取,结果得不到输入框中的控件内容,只得到一个窗口标题 “ 1 ”。 如图示: 想获得这个输入框中的1222 这个...

用visualbox中的android系统替换android sdk自带的模拟器

用visualbox中的android系统替换android sdk自带的模拟器

如何在visualbox中安装android X86,此处不表。 修改虚拟机设置。 关闭运行的虚拟机,选中“设置----网络”,将连接方式设置为“host-only adapter”;在“高级--控制芯片”中选择“P...

Source Insight删除半个汉字问题

Source Insight删除半个汉字问题

Source Insight(汉化版)下载地址: http://www.onlinedown.net/soft/32292.htm 解压后,文件夹“搞定SourceInsight的半个汉字的问题”,我们需要的是文件SuperBackspace.em。 软件(宏)自带的使用说明...

android studio 3.0 前进和后退功能

使用android studio 3.0 开发Android程序时,需要用到前进和后退功能(跳到上一个源文件和下一个源文件) 快捷键是alt+Left 和alt+Right。 勾选view-->Toolbar 可以放到工具栏...

谈谈BLE连接参数

在使用BLE过程中,BLE连接参数是一个比较容易忽略的地方,很多人从来不管这些连接参数,结果很容易出现以下几个问题: 1、设备功耗大; 2、与android系统手机或ios系统手机无法连接(尤其是ios系统); 3、连接后,串口使用较低波特率发送数据时,容易出现乱码; 这些问题...

c# textbox的passwordchar清空

//三种都是清空 this.textBox1.PasswordChar = new char(); this.textBox1.PasswordChar = '\0'; this.textBox1.PasswordChar = default(char);...

发表评论

访客

◎欢迎参与讨论,请在这里发表您的看法和观点。