I have an application that launches the Problem Steps Recorder utility that ships with Windows 7 and later that records all user mouse and keyboard interactions. It does so by creating a new Process instance and launching the PSR with a number of command line parameters, including one that suppresses the GUI.
My app needs to wait until the utility has set the mouse hook before proceeding. I'm able to wait until I'm certain the process has started successfully, but the utility does not expose any sort of event for when it has started recording. With no GUI, Process.WaitForInputIdle() can't tell me when I'm ready to proceed either.
Is there a way to detect when a new low level mouse hook has been set by a third party application?