关于 int APIENTRY WinMain的使用有关问题

关于 int APIENTRY WinMain的使用问题?
我用Microsoft Visual Studio 2008编辑器碰到到一下问题
先上码

#include<windows.h>
#include<string>
using namespace std;

LRESULT CALLBACK mainWndProc(HWND hWnd,UINT message,WPARAM wParam,LPARAM lParam)
{
switch(message)
{
case WM_DESTROY:
{
PostQuitMessage(0);

return 0;
}
}
return DefWindowProc(hWnd,message,wParam,lParam);
}

int APIENTRY WinMain(HINSTANCE hInst,HINSTANCE hPrevInstance,LPSTR lpCmdLine,int nCmdShow)
{
WNDCLASSEX wcex;
wcex.cbSize=sizeof(WNDCLASSEX);
wcex.style=CS_HREDRAW | CS_VREDRAW;
wcex.lpfnWndProc=mainWndProc;
wcex.cbClsExtra =0;
wcex.cbWndExtra =0;
wcex.hInstance =hInst;
wcex.hIcon =NULL;
wcex.hCursor = LoadCursor(NULL,IDC_ARROW);
wcex.hbrBackground =NULL;
wcex.lpszMenuName =NULL;
string className="MineSweeper";
wcex.lpszClassName =className.c_str();
wcex.hIconSm =NULL;

HWND mainWnd=CreateWindow(className.c_str(),"MineSweeper",WS_OVERLAPPEDWINDOW,128,128,640,480,NULL,NULL,hInst,NULL);
ShowWindow(mainWnd,nCmdShow);
UpdateWindow(mainWnd);

MSG msg;
while(GetMessage(&msg,NULL,0,0))
{
TranslateMessage(&msg);
DispatchMessage(&msg);
}
return 0;
}

在执行的时候就停了下来,没有报错什么提示都没有,但程序还在运行状态?

显示输出了以下调试信息:

关于 int APIENTRY WinMain的使用有关问题

早在创建int APIENTRY WinMain时就出现在这种情况:

关于 int APIENTRY WinMain的使用有关问题

是不是我才创建int APIENTRY WinMain时就错了,而导致程序无法运行?
我试过使用int WINAPI WinMain和改变程序属性使用多字节字符集都没用
求各位前辈赐教!!!
------解决思路----------------------
少了个while循环了
------解决思路----------------------

LRESULT CALLBACK mainWndProc(HWND hWnd,UINT message,WPARAM wParam,LPARAM lParam)
{
switch(message)
{
case WM_DESTROY:
{
PostQuitMessage(0);

return 0;
}
}
return DefWindowProc(hWnd,message,wParam,lParam);
}

int APIENTRY WinMain(HINSTANCE hInst,HINSTANCE hPrevInstance,LPSTR lpCmdLine,int nCmdShow)
{
WNDCLASSEX wcex;
wcex.cbSize=sizeof(WNDCLASSEX);
wcex.style=CS_HREDRAW 
------解决思路----------------------
 CS_VREDRAW;
wcex.lpfnWndProc=mainWndProc;
wcex.cbClsExtra =0;
wcex.cbWndExtra =0;
wcex.hInstance =hInst;
wcex.hIcon =NULL;
wcex.hCursor = LoadCursor(NULL,IDC_ARROW);
wcex.hbrBackground =NULL;
wcex.lpszMenuName =NULL;
string className="MineSweeper";
wcex.lpszClassName =className.c_str();
wcex.hIconSm =NULL;


if (!RegisterClassEx(&wcex))//注册上面的窗口类;
{
MessageBox(NULL,TEXT("注册窗口类失败!"),TEXT("error "),MB_OK);
return 0;
}

HWND mainWnd=CreateWindow(className.c_str(),"MineSweeper",WS_OVERLAPPEDWINDOW,128,128,640,480,NULL,NULL,hInst,NULL);
ShowWindow(mainWnd,SW_SHOW);
UpdateWindow(mainWnd);

MSG msg;
while(GetMessage(&msg,NULL,0,0))
{
TranslateMessage(&msg);
DispatchMessage(&msg);
}
return 0;
}

看红色的,要改你的代码真不容易啊