I have quite a few apps which, after being started, need some fiddling around. Mostly this has to do with window placement and the like. I know how to set up timers and WinWaitActive to handle this.
However this doesn't strike me as a particularly efficient method, given that I have to watch and wait for about a dozen of windows. (Yeah, AHK does the waiting, but you get the point.)
There is a hook for CBT (Computer based training) purposes which could be used for these and similar purposes, something along the lines of OnClipboardChange, but for window creation: a label called OnWindowCreation that is called whenever a main window comes into being.
Here are two links that seems to give some details:
http://www.microsoft.com/msj/0699/c/c0699.aspx
http://msdn.microsoft.com/library/default.asp?url=/library/en-us/winui/winui/windowsuserinterface/windowing/hooks/hookreference/hookfunctions/cbtproc.asp