情况是这样的,使用自己的程序client.exe 启动1.exe(用createprocess 启动)
1.exe 启动 2.exe,然后 1.exe 退出
2.exe 启动 3.exe,然后 2.exe 退出
3.exe 启动 4.exe,然后 3.exe 退出现在我得到了 4.exe 的进程ID,
只能通过 PROCESSENTRY32.th32ParentProcessID
取得3.exe 的进程ID,却无法再往回取得 1.exe,2.exe 和 client.exe的进程ID
想请问一下如何通过 4.exe 的进程ID,取得祖先进程 client.exe 的进程ID?PS: 不能使用系统钩子 HOOK createprocess
祝大家身体健康
1.exe 启动 2.exe,然后 1.exe 退出
2.exe 启动 3.exe,然后 2.exe 退出
3.exe 启动 4.exe,然后 3.exe 退出现在我得到了 4.exe 的进程ID,
只能通过 PROCESSENTRY32.th32ParentProcessID
取得3.exe 的进程ID,却无法再往回取得 1.exe,2.exe 和 client.exe的进程ID
想请问一下如何通过 4.exe 的进程ID,取得祖先进程 client.exe 的进程ID?PS: 不能使用系统钩子 HOOK createprocess
祝大家身体健康
client.exe启动1.exe时候命令行参数传PIDClient
1.exe启动2.exe时候命令行参数传PIDClient|PID1
2.exe启动3.exe时候命令行参数传PIDClient|PID1|PID2
3.exe启动4.exe时候命令行参数传PIDClient|PID1|PID2|PID3
SECURITY_ATTRIBUTE sa;
Sa.nLength=sizeof(sa);
Sa.lpSecurityDiscriptor=NULL;(默认安全性)
Sa.bInheritHandle=TRUE;
Create(…..);
传递方法:
(1)将句柄作为命令行参数传给子进程;
(2)父进程等待子进程初始化完之后发送消息到子进程的线程;
(3)父进程将句柄值作为环境变量添加到环境程序块,子进程可以继承这个变量,然后调用GetEnvironmentVariable得到这个变量;