如何在程序运行前指定它的进程名
比如我有一个可执行文件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的作用就是为了防止你干这种事