如何从程序内修改Windows任务管理器中进程(含子进程)的显示名称
Windows 修改运行中子进程名称的实现方案
未公开内核API调用
Edge浏览器这类软件确实是通过调用Windows未公开的内核级API实现的。比如使用NtSetInformationProcess函数,配合特定的PROCESS_INFORMATION_CLASS枚举值(部分未公开),可以直接修改进程的显示名称。不过这类API没有官方文档,参数和用法需要通过逆向工程获取,且不同Windows版本可能存在兼容性差异。启动子进程时内存修改PE信息
在启动子进程的流程中,通过内存修改的方式自定义子进程名称,同时保持父子进程归属关系:- 将目标子进程的可执行文件加载到内存,修改PE头中与文件名相关的字段
- 调用
CreateProcess时传入CREATE_SUSPENDED参数,让子进程处于挂起状态 - 通过
WriteProcessMemory向子进程内存写入修改后的名称数据 - 调用
ResumeThread恢复子进程运行
这种方式能让子进程在任务管理器等工具中显示自定义名称,且无需依赖外部脚本。
关键注意点
- 未公开API存在版本兼容风险,Windows系统更新可能导致调用失效
- 内存修改方式需要主进程拥有足够权限,否则会因权限不足操作失败
- 修改过程中需确保不破坏子进程的正常运行逻辑,避免出现崩溃或功能异常
内容的提问来源于stack exchange,提问作者jesup
相关产品推荐
相关产品推荐

