windows应用程序能编译,创建,但是运行不出来?

windows应用程序能编译,创建,但是运行不出来?请教高手!!!!!!!!!!
我在书上抄了一个windows应用程序,编译,链接都没有错误,就是运行不出来?请教高手
是一个简单的创建窗口的程序,运行它应该是一个windows   窗口,源代码如下:
#include   "stdafx.h "
#include   "windows.h "
LRESULT   CALLBACK   MainWndProc(HWND,UINT,WPARAM,LPARAM);
int   APIENTRY   WinMain(HINSTANCE   hInstance,
                                          HINSTANCE   hPrevInstance,
                                          LPSTR           lpCmdLine,
                                          int               nCmdShow)
{
char   szClassName[]= "MainWClass ";
WNDCLASS   wndclass;
wndclass.cbSize=sizeof(wndclass);
wndclass.style=CS_HREDRAW|CS_VREDRAW;
wndclass.lpfnWndProc=MainWndProc;
wndclass.cbClsExtra=0;
wndclass.cbWndExtra=0;
wndclass.hInstance=hInstance;
wndclass.hIcon=::LoadIcon(NULL,IDI_APPLICATION);
wndclass.hCursor=::LoadCursor(NULL,IDC_ARROW);
wndclass.hbrBackground=(HBRUSH)::GetStockObject(WHITE_BRUSH);
wndclass.lpszClassName=szClassName;
wndclass.hIconSm=NULL;
::RegisterClass(&wndclass);
HWND   hwnd=::CreateWindowEx(
0,
szClassName,
"MyFirstWindows! ",
WS_OVERLAPPEDWINDOW,
CW_USEDEFAULT,
CW_USEDEFAULT,
CW_USEDEFAULT,
CW_USEDEFAULT,
NULL,
NULL,
hInstance,
NULL
);
if(hwnd==NULL)
{::MessageBox(NULL, "ERROR! ", "error! ",MB_OK);
return   -1;
}
::ShowWindow(hwnd,nCmdShow);
::UpdateWindow(hwnd);
MSG   msg;
while(::GetMessage(&msg,NULL,0,0))
{
::TranslateMessage(&msg);
::DispatchMessage(&msg);
}

return   msg.wParam;
}
LRESULT   CALLBACK   MainWndProc(HWND   hwnd,UINT   message,WPARAM   wParam,LPARAM   lParam)
{
char   szText[]= "A   simple     window   application! ";
switch(message)
{
case   WM_PAINT:
{HDC   hdc;
PAINTSTRUCT   ps;
hdc=::BeginPaint(hwnd,&ps);
::TextOut(hdc,10,10,szText,strlen(szText));
::EndPaint(hwnd,&ps);
return   0;
}
case   WM_DESTROY:
::PostQuitMessage(0);
return   0;
}
return   ::DefWindowProc(hwnd,message,wParam,lParam);
}

请各位大侠指点!非常感谢


------解决方案--------------------
WNDCLASS wndclass;
wndclass.cbSize=sizeof(wndclass);
wndclass.style=CS_HREDRAW|CS_VREDRAW;
wndclass.lpfnWndProc=MainWndProc;
wndclass.cbClsExtra=0;
wndclass.cbWndExtra=0;
wndclass.hInstance=hInstance;
wndclass.hIcon=::LoadIcon(NULL,IDI_APPLICATION);
wndclass.hCursor=::LoadCursor(NULL,IDC_ARROW);
wndclass.hbrBackground=(HBRUSH)::GetStockObject(WHITE_BRUSH);
wndclass.lpszClassName=szClassName;
wndclass.hIconSm=NULL;

-------
你的wndclass属性不对, RegisterClass没有成功..

改:
---
wndclass.lpszClassName = szClassName;
wndclass.hInstance = hInstance;
wndclass.lpfnWndProc = MainWndProc;
wndclass.hIcon = LoadIcon(NULL,IDI_APPLICATION);
wndclass.hCursor = LoadCursor(NULL,IDC_ARROW);