DialogBox( GetModuleHandle( 0 ), MAKEINTRESOURCE( IDD_SPLASH ), HWND_DESKTOP, (DLGPROC)PhantomDialogProc );
nsSplashScreenWin::Show() {    /*     * A hack for http://bugzilla.mozilla.org/show_bug.cgi?id=26581     *     * Windows NT seems to think that the first thread to show a window must      * therefore be our main UI thread. It then seems to want to put the first      * window that shows up on other threads in our application behind the main      * windows of other applications. Since we want to show our splash screen      * on a 'non-main' thread, our browser windows start showing up later on a      * thread that Windows thinks is not our main UI thread. So, (I believe) it      * pushes the first one of our browser windows to the back until the user      * pulls it forward. That is not what we want!     *      * This hack attempts to trick Windows by very briefly showing an      * offscreen window on the main thread. This happens before the splash      * screen thread creates its window (which it sets as topmost). So when our     * browser windows start showing up on the main thread Windows will see that      * they are on the "first thread with a window" and it will (hopefully!) not     * push them to the back.     */    DialogBox( GetModuleHandle( 0 ),               MAKEINTRESOURCE( IDD_SPLASH ),               HWND_DESKTOP,               (DLGPROC)PhantomDialogProc );    // Spawn new thread to display real splash screen.    DWORD threadID = 0;    HANDLE handle = CreateThread( 0, 0, (LPTHREAD_START_ROUTINE)ThreadProc, this, 0, &threadID );    CloseHandle(handle);    return NS_OK;}