Oh. I understand now. I did that once. So you don't actually need to have your resources loaded (meshes/images) for the rest of the game. You just need to open a window, take care of whatever menu you have, and close it to run the game..... right?
While you're inside WinMain() you should be able to open and close windows as you like. openWindow() is paired with PostMessage(hWnd,WM_CLOSE,0,0) and dbOpenScreen() is paired with dbCloseScreen(). Until you return 0; from WinMain() you should be able to open/close all day long....
Here's an example:
hWnd2 = openWindow(0, 0, 1024, 768, "GUI2 Editor", 0, true);
dbOpenScreen(hWnd2, 0, 0, 1024, 768,32,0);
SetWindowPos(hWnd2, 0, 0, 0, 0, 0, SWP_NOREPOSITION | SWP_NOSIZE);
ShowWindow(hWnd2, SW_SHOW);
do{
dbSync();
if (dbSpaceKey()==1) PostMessage(hWnd2,WM_ENDSESSION,0,0);
}while (windowEvent()!=WM_ENDSESSION);
while (windowEvent()!=WM_NULL);
dbCloseScreen();
DestroyWindow(hWnd2);
hWnd2 = openWindow(0, 0, 640, 480, "GUI2 Editor", 0, true);
dbOpenScreen(hWnd2, 0, 0, 640, 480,32,0);
SetWindowPos(hWnd2, 0, 0, 0, 0, 0, SWP_NOREPOSITION | SWP_NOSIZE);
ShowWindow(hWnd2, SW_SHOW);
do{
dbSync();
if (dbReturnKey()==1) PostMessage(hWnd2,WM_ENDSESSION,0,0);
}while (windowEvent()!=WM_ENDSESSION);
while (windowEvent()!=WM_NULL);
dbCloseScreen();
DestroyWindow(hWnd2);
The fastest code is the code never written.