如何修改Windows下C++控制台程序的图标、标题及进程名称?
Windows下CodeBlocks开发C++控制台程序的自定义设置方案
一、修改控制台窗口标题
不需要资源文件,直接调用Windows系统API即可实现:
- 引入头文件
<windows.h> - 在
main()函数中调用SetConsoleTitle()函数设置标题
示例代码:
#include <iostream> #include <windows.h> int main() { // 兼容多字节/Unicode字符集的写法 SetConsoleTitle(TEXT("我的自定义控制台")); std::cout << "程序运行中..." << std::endl; system("pause"); return 0; }
如果项目固定使用Unicode字符集,可直接写SetConsoleTitle(L"我的自定义控制台");多字节字符集则去掉L前缀。
二、修改程序图标
控制台程序默认无自定义图标,需通过资源文件添加,操作步骤:
- 在CodeBlocks中右键项目 → Add files → 新建后缀为
.rc的资源文件(比如app_res.rc) - 准备
.ico格式的图标文件,放到项目根目录 - 打开
.rc文件,添加以下内容:
IDI_APP_ICON ICON "my_icon.ico"
其中IDI_APP_ICON是自定义资源ID(可自行修改),my_icon.ico是你的图标文件名
4. 重新编译项目,生成的EXE将显示自定义图标
注:若编译时提示资源错误,检查CodeBlocks编译器设置:Settings → Compiler → Toolchain executables,确认Resource compiler路径指向
windres.exe(一般默认已配置)
三、进程名称与任务栏悬停文本设置
- 进程名称:进程名就是生成的EXE文件名,无法通过代码修改。要修改的话,在CodeBlocks项目设置中调整:Project → Build options → Build targets,修改
Output filename为目标名称,编译后进程名会同步改变。 - 任务栏悬停文本:控制台程序的任务栏悬停文本默认和窗口标题一致,用
SetConsoleTitle()设置窗口标题后,悬停文本会自动同步。比如进程名是mytool.exe,悬停文本可设为“我的工具程序”,与进程名完全独立。
内容的提问来源于stack exchange,提问作者marcthird
相关产品推荐
相关产品推荐

