I am writing a watchdog app which will monitor/stop/start other apps. I am able to retrieve pids for each app and CreateProcess if it has stopped running. I am able to TerminateProcess if need be. But I can not figure out how to communicate with the app in order to determine if the app is ' running' or 'not responding' (as seen with the Task Manager). I do not know if ::SendMessage() or PostMessage() is the way to go. I do have a process handle but I do not know how to get its corresponding Window handle( hWND) as needed by SendMessage() and PostMessage(). IPC? Too much work right now. Any suggestions?