c语言修改文件图标
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了c语言修改文件图标相关的知识,希望对你有一定的参考价值。
1、如何用c语言获得一个指定路径文件的图标
2、如何修改一个文件图标?
话说应该是c++也无所谓的
当然,你也可以修改txt 类型文件的图标(但是可以仍然用 notepad.exe 打开)。txt 类型文件的图标,其实是保存在注册表里面的。具体位置是:
HKEY_CLASSES_ROOT -> .txt ,找到 txt 类型在注册表里面的类型名,一般为txtfile;
HKEY_CLASSES_ROOT -> txtfile -> DefaultIcon , 这个就是 txt 类型文件的图标了。追问
是这样的,我是想通过用c++写一个程序,通过这个程序来修改其他指定文件的图标(以exe文件为例),而不是把所有的exe文件都修改,能否实现?
另外,刚才听你这么一说,对刚才的东西也挺感兴趣的,是不是用刚才的方法可以将所有的TXT文件的图标修改为另外一个?如果可以的话,可否代码实现下?可以的话,追加50分
问题1:修改指定 exe 文件的图标。
还是从注册表入手:
HKEY_CLASSES_ROOT -> .exe ,找到 exe 类型在注册表里面的类型名,一般为 exefile;
HKEY_CLASSES_ROOT -> exefile-> DefaultIcon , 这个目录下有个默认项,值为 “%1”。
也就是说,每个 exe 文件的图标,是【 该 exe 文件本身】里面的包含的第一图标。
顺便说一句,一个 exe 文件里,其实有很多东西的,包括图标,字符串,版本信息等,是经过编译后才以一个文件的形式存在的。
这样问题的答案就清楚了。要修改指定 exe 文件的图标,必须修改 exe 文件本身。具体的说,要把exe 文件里面的第一个图标,替换为指定的图标。
具体的实现细节,水平有限,我也不会,你可以参考其他资料。但是我负责的告诉你,思路就是这样的。这里有个现成的软件,就是有这个思路实现的:
http://www.pc6.com/softview/SoftView_55320.html
问题2:
这个很简单,直接修改注册表就行了。比如修改 txt 类型的文件图标(但是不修改打开 txt 文件的程序),可以修改:
HKEY_CLASSES_ROOT -> txtfile -> DefaultIcon
里面的默认项的值。
比如改为:
C:\WINDOWS\Installer\90140000-0011-0000-0000-0000000FF1CE\wordicon.exe,1
上面的这个图标其实就是 word 文件的默认图标啦。
【现在你重启 exeplor.exe 进程】,所有 txt 文件的图标,都是 word 文件的图标了。当然双击还是用 notepad.exe 打开的哦!
十分感谢你的耐心解答!
对于问题二能否用代码写一下?我是新手谢谢
另外,C:\WINDOWS\Installer\90140000-0011-0000-0000-0000000FF1CE\wordicon.exe,1
是一个路径名称么?为什么会有大括号?
如果想改为一个指定的图片(不是系统其他文件的图标)怎么写(希望代码注释一下)谢谢
#include <resource.h>
#define ICO_MAIN 0x1000 //图标
ICO_MAIN ICON "Main.ico"
把这三个写在一个资源文件里面(就是.rc的),资源文件再加到工程中,"Main.ico"就是的图标文件,主程序中用:
hIcon=LoadIcon(hInstance,ICO_MAIN);
SendMessage(hWnd,WM_SETICON,ICON_BIG,hIcon);
C#上位机开发—— 修改窗口图标和exe文件图标
前言
早在18年,博主第一次开始写博客,内容为 C# 上位机开发,写完后收获了不错的阅读量和好评:
- C#上位机开发(一)—— 了解上位机
- C#上位机开发(二)—— Hello,World
- C#上位机开发(三)—— 构建SerialAssistant雏形
- C#上位机开发(四)—— SerialAssistant功能完善
- C#上位机开发(五)——SerialAssistant界面升级(WinForm界面布局进阶)
- C#上位机开发(六)——SerialAssistant功能优化(串口自动扫描功能、接收数据保存功能、加载发送文件、发送历史记录、打开浏览器功能、定时发送功能)
Github开源仓库:https://github.com/Mculover666/SerialAssistant。
一、准备应用程序图标
首先寻找一个好看的应用程序图标图片,然后使用在线工具转换为 .ico格式:
二、修改窗口图标
在窗口的属性中找到Icon项,选择要设置的图标即可:
运行后即可看到窗口图标被修改:
三、修改exe程序图标
首先配置生成release版本:
打开项目的属性:
选择图标,设置为exe文件的图标,保存:
右击项目文件,点击重新生成:
在输出信息可以看到生成文件的路径:
进入该路径:
这个时候就可以拿着这个exe分享给小伙伴啦~
以上是关于c语言修改文件图标的主要内容,如果未能解决你的问题,请参考以下文章