I need to build a small C# application which measures start up times for a definable application. I have found this free tool:
http://www.passmark.com/products/appti
It's referring to the Windows WaitForInputIdle API, which calls you back when an applicaiton has gone into an idle message loop state:
http://blogs.msdn.com/b/oldnewthing/archive/2010/03/25/9984720.aspx