首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > C++ >

怎么在程序运行前指定它的进程名

2012-05-29 
如何在程序运行前指定它的进程名比如我有一个可执行文件MyQQ.exe,通过调用配置文件QQ_1.ini可以启动它,打

如何在程序运行前指定它的进程名
比如我有一个可执行文件MyQQ.exe,通过调用配置文件QQ_1.ini可以启动它,打开任务管理器发现它的进程名也叫做MyQQ.exe

我的想法是我可不可以自己指定他运行时候的进程名,比如如果我用的是QQ_1.ini配置文件启动它,就叫MyQQ_1.exe
而如果我用的是QQ_2.ini配置文件启动它,就叫MyQQ_2.exe。

当然,这个前提是我的可执行文件还是叫做MyQQ.exe。

请问下具体该怎么操作?

程序代码修改能实现吗?我学的是C++。

批命令可以实现吗?
我原先的批命名如下:
cd ..\..
START MyQQ.exe C:\MyQQ\QQ_1.ini


[解决办法]
我知道有代码的情况可以实现
没代码的就不知道了

[解决办法]
估计只有先备份一个,再以新名字运行
[解决办法]
先改名,再启动。
copy MyQQ.exe MyQQ_2.exe
start MyQQ_2.exe MyQQ_2.ini
[解决办法]
查看一下Windows的STARTINFO结构看看会不会有帮助
[解决办法]
无好办法
先MoveFile改名,然后运行,然后改回来,这样EPROCESS.ImageFileName和PEB.ProcessParameters里面的的内容就是第一次改后的,但是EPROCESS.SectionObject(->Segment->ControlArea->FilePointer)你改不了,因此可以用GetProcessImageFileName获得真实路径,其实这个api的作用就是为了防止你干这种事

热点排行