Newsgroup: it.comp.programmare.win32
Titolo: API con Visual C++

Scusate, sono alle prime armi
VC++ mi dà i seguenti errori quando provo ad eseguire il programma:
Linking...
LIBCD.lib(crt0.obj) : error LNK2001: unresolved external symbol _main
Debug/hellobtn.exe : fatal error LNK1120: 1 unresolved externals
Error executing link.exe.
hellobtn.exe - 2 error(s), 0 warning(s)
Il listato del programma è questo:
#include <windows.h>
HINSTANCE hCurInstance;
long __stdcall WndProc (HWND, UINT, WPARAM, LPARAM) ;
int __stdcall WinMain (HINSTANCE hInstance, HINSTANCE hPrevInstance,
                    char * szCmdLine, int iCmdShow)
     {
     static char szAppName[] = "HelloWin" ;
     HWND        hwnd;
     MSG         msg ;
     WNDCLASS  wndclass ;
     hCurInstance = hInstance;
     wndclass.style         = CS_HREDRAW | CS_VREDRAW ;
     wndclass.lpfnWndProc   = WndProc ;
     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.lpszMenuName  = NULL ;
     wndclass.lpszClassName = szAppName ;
     RegisterClass (&wndclass) ;
     hwnd = CreateWindow (szAppName,         /* window class name */
             "The Hello Program",     /* window caption */
                    WS_OVERLAPPEDWINDOW,     /* window style */
                    CW_USEDEFAULT,           /* initial x position */
                    CW_USEDEFAULT,           /* initial y position */
                    CW_USEDEFAULT,           /* initial x size */
                    CW_USEDEFAULT,           /* initial y size */
                    NULL,                    /* parent window handle */
                    NULL,                    /* window menu handle */
                    hInstance,               /* program instance handle */
                    NULL);       /* creation parameters */
     ShowWindow (hwnd, iCmdShow) ;
     UpdateWindow (hwnd) ;
     while (GetMessage (&msg, NULL, 0, 0))
          {
          TranslateMessage (&msg) ;
          DispatchMessage (&msg) ;
          }
     return msg.wParam ;
     }
long __stdcall WndProc (HWND hwnd, UINT iMsg, WPARAM wParam, LPARAM lParam)
     {
     HDC         hdc ;
     PAINTSTRUCT ps ;
     RECT        rect ;
     switch (iMsg)
          {
          case WM_CREATE :
        CreateWindow("button", "Push",
    WS_CHILD | WS_VISIBLE | BS_PUSHBUTTON, 10, 10, 60, 30, hwnd,
                 (LPVOID)101, hCurInstance, NULL);
               return 0 ;
          case WM_PAINT :
               hdc = BeginPaint (hwnd, &ps) ;
               GetClientRect (hwnd, &rect) ;
               DrawText (hdc, "Hello, Windows 95!", -1, &rect,
    DT_SINGLELINE | DT_CENTER | DT_VCENTER) ;
        EndPaint (hwnd, &ps) ;
               return 0 ;
   case WM_COMMAND:
               if (wParam=101)
                 MessageBox(hwnd,"Pushed!","HelloBtn Message",
                            MB_OK | MB_ICONEXCLAMATION);
        return 0;
          case WM_DESTROY :
               PostQuitMessage (0) ;
               return 0 ;
          }
     return DefWindowProc (hwnd, iMsg, wParam, lParam) ;
     }
Sapreste dirmi per favore dove sbaglio?
Grazie a chi vorrà aiutarmi...

 hellobtn.exe - 2 error(s), 0 warning(s)
sembrerebbe che tu abbia impostato un programma console cioe dos perchio il
compilatore cerca il main
crea un progetto per win32
ciao