I have a requirement to track what programs are opened by another process. The process is third party, so I cannot change it. I am looking to attach some sort of tracer to the first process so that I can see if it spawns other processes and add them to a list. Consider the following:
Program Z runs a launcher (Process A)
Process A launches Process B
Process A launches Process C
Program Z must maintain a list of the handles of Process B, and Process C, and must know when they are closed.
The business requirement for this project is that our program, Program Z, invokes a launcher (Process A) for other programs. We need to know when the other programs are closed, and so we are trying to track the handles for the additional processes which are spawned by Process A.
Is it possible to figure out what processes are spawned from a 3rd party process, and to find out when the new processes are closed?