Implementation details from here: http://www.microsoft-questions.com/microsoft/Platform-SDK-Shell/32763916/problem-trapping-shopenfolderandselectitems.aspx
SHOpenFolderAndSelectItems looks for an existing shell window (using =
IShellWindows::FindWindowSW). If it can't find one, it creates a new one =
(using ShellExecuteEx) and waits for it to appear. Then it queries for =
IWebBrowserApp, calls get_Document, queries the document object for =
IShellFolderViewDual, and finally calls SelectItem.
Note that afaik opening a new file browser window and waiting for it is done with an undocumented function in shdocvw.