@James: There's one flaw on that: Not every Windows application is launched by Explorer. Say, IE can launch notepad or else for opening downloads. So Explorer don't keep track of every application opened in the current desktop.
Maybe it's time to add another Windows message, something like WM_PROCESSSTART. Maybe it can help solve another common problem too. Something like want to launch an application and wait until it's completely loaded to return.