如何修改Dev-C++开发的控制台应用在任务管理器中的进程名称
原理说明
SetConsoleTitle() 仅作用于控制台窗口本身的标题栏文本,不会修改进程自身的任何属性,自然无法改变任务管理器显示的进程名称。
任务管理器的进程名显示对应两个不同来源:
- 「进程」标签页默认显示的友好名称:从EXE文件内嵌的版本资源中读取
FileDescription字段 - 「详细信息」标签页显示的进程名:默认读取EXE文件在磁盘上的文件名,部分场景下会读取版本资源中的
OriginalFilename字段
Dev-C++ 环境下的修改方法
Dev-C++ 基于MinGW编译环境,没有内置可视化的版本资源编辑器,可通过以下正规方式修改,无兼容性问题、不会触发安全软件告警:
- 新建资源文件
打开项目后,点击菜单栏「文件→新建→源代码」,创建空白文件并保存为后缀为.rc的资源文件(比如app_version.rc),存放到项目源码目录下。 - 写入版本资源配置
在rc文件中填入以下内容,按需替换对应字段的值:
1 VERSIONINFO FILEVERSION 1,0,0,0 PRODUCTVERSION 1,0,0,0 FILEOS 0x40004 FILETYPE 0x1 { BLOCK "StringFileInfo" { BLOCK "080404b0" { VALUE "CompanyName", "自定义作者/组织信息" VALUE "FileDescription", "此处填写你想要在任务管理器进程页显示的名称" VALUE "FileVersion", "1.0.0.0" VALUE "InternalName", "程序内部标识名" VALUE "OriginalFilename", "自定义文件名.exe" VALUE "ProductName", "程序产品名称" VALUE "ProductVersion", "1.0.0.0" } } BLOCK "VarFileInfo" { VALUE "Translation", 0x0804, 1200 } }
- 将资源文件加入项目
在Dev-C++左侧项目面板右键点击项目名称,选择「添加到项目」,选中刚才保存的rc文件。 - 重新完整编译项目,新生成的EXE运行后,任务管理器就会显示你配置的进程名称。
补充:如果仅需要修改「详细信息」页的进程名,直接重命名编译生成的EXE文件即可,不需要修改资源。
不推荐的方案说明
网上流传的运行时修改进程PEB内存、篡改进程路径字符串的方法存在严重问题:
- 属于典型的恶意进程伪装行为,90%以上概率会被杀毒软件、系统安全机制拦截
- 不同Windows版本的内核结构偏移不同,极易出现程序崩溃、兼容性问题
- 修改仅在进程运行时临时生效,没有实际实用价值
内容的提问来源于stack exchange,提问作者b8ff
相关产品推荐
相关产品推荐

