Originally Posted by
novacain
You have 2 HWND variables called hSplashWnd.
The hSplashWnd that gets the valid HWND has limited scope (the WinMain) and the global one you use to try and show the splash screen is not initialised or ever given a value.
PS
SelectObject(hMemoryDC, (HGDIOBJ)hSplashBMP);
This is possibly creating a GDI memory leak, depending on your compiler.
You should also cast to the exact type of GDI object (ie HBITMAP)