Тема: WinApi
Пробую написати форму в С++ використовуючи WinApi. Алгоритм не працює не можу виправити ошибки. Допоможіть, якщо є можливість. Алгоритм програми:
#include <windows.h>
#define width 640
#define height 480
LRESULT CALLBACK WindowProc(HWND hwnd, UINT uMsg, WPARAM wParam,LPARAM lParam);
int CALLBACK WinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance, LPSTR lpCmdLine, int nCmdShow)
    {
    HWND hwnd;
    MSG uMsg;
    WNDCLASS windowClass;
    memset(&windowClass,0,sizeof(WNDCLASSEXW));
    windowClass.cbsize=sizeof(WNDCLASSEXW);
    windowClass.hbrBackground=(HBRUSH)GetStockObject(GRAY_BRUSH);//Задаєм фоновий колір форми
    windowClass.hCursor=LoadCursor(NULL,IDC_ARROW);
    windowClass.hIcon=LoadIcon(Null,IDC_HAND);
    windowClass.hInstance=hInstance;
    windowClass.lpfnWndProc=WindowProc;
    windowClass.lpszClassName="Simple Windows";
    
    RegisterClassEx(&windowClass);
    
    hwnd=CreateWindow(windowClass.lpszClassName, "My first Name", WS_OVERLAPPED | WS_CAPTION | WS_SYSMENU | WS_THICKFRAME | WS_MINIMIZEBOX | WS_MAXIMIZEBOX,
    (GetSystemMetrics(SM_CXSCREEN)-width)/2, (GetSystemMetrics(SM_CYSCREEN)-height)/2, width, height, NULL, NULL, NULL, NULL);
    ShowWindow(hwnd, nCmdShow);
    
    while(GetMessage(&uMsg, hwnd, NULL, NULL))
        {
        TranslateMessage(&uMsg);
        DispatchMessage(&uMsg);
        }
        return uMsg, wParam;
    }
    
 LRESULT CALLBACK WindowProc(HWND hwnd, UINT uMsg, WPARAM wParam,LPARAM lParam)
 {
 Switch(uMsg)
    {
        case WM_CLOSE:
        ExitProcess(0);
        break;
    default:
    return DefWindowProc(hwnd, uMsg, wParam, lParam); 
    }
   
 }Працюю В Visual Studio 8. Виводить наступні ошибки:
1.error C2039: 'cbsize' : is not a member of 'tagWNDCLASSA'
2.error C2065: 'Null' : undeclared identifier    
3.error C2664: 'RegisterClassExA' : cannot convert parameter 1 from 'WNDCLASS *' to 'const WNDCLASSEXA 
4.error C2065: 'wParam' : undeclared identifier    
5.error C3861: 'Switch': identifier not found    
6.error C2046: illegal case    
7.error C2043: illegal break    
8.error C2047: illegal default
