How to get process handle from a HINSTNACE?

My application starts another application using ShellExecute(). I have strong reasons for not using CreateProcess(). ShellExecute returns a HINSTANCE to the new application. At some time after that I have to check if the newly open application is still open or closed by the user. How can I do that? If I have the process handle then I could WaitForSingleObject() in a separate thread and notify my main thread when the application closes. But then again, how do I get a process handle having the HINSTANCE returned by ShellExecute()?
Who is Participating?
captainkirkConnect With a Mentor Commented:
The HINSTANCE returned by ShellExecute() is NOT a true handle - it is a return code which must be cast to an integer and checked... if you want true program status, perhaps you would use one of the various spawn() functions instead, because you get back an int which is the exit status of the created process.
Use ShellExecuteEx instead.
All Courses

From novice to tech pro — start learning today.