I know of partial solutions. In the standard or default NTVDM I can
start a 16-bit program that walks the task list and sends the results
back to my 32-bit program. In a separate NTVDM I can get the command
line, which includes the path to the program that is being run. Where
I am stuck is a separate NTVDM in which the program that was originally
started there has spawned additional apps. How can I determine all the
programs that are now running there?
Some possibilities:
1. When starting a 16-bit program, is there a way to force it to run
in a particular instance of NTVDM? To put it another way, is it
possible to order NTVDM to run an additional program?
2. Is there a message or API interface to NTVDM that returns
information about the programs it is running?
3. Is there any documentation on the layout of NTVDM memory that would
tell me where to look for the path to the executable that is being
run by each thread?
I will appreciate all advice and suggestions