Oppure

Loading
20/07/11 17:04
zelda64
qualcuno sa dirmi perchè questo programma non parte
#include <windows.h>
#include <stdlib.h> 
#include <string.h> 
#include <tchar.h> 

int main()
{
int WINAPI WinMain (HINSTANCE hInstance,
                    HINSTANCE hPrevInstance,
                    LPSTR lpCmdLine,
                    int nCmdshow);
                     LRESULT CALLBACK WndProc (HWND, UINT, WPARAM, LPARAM);
 WNDCLASSEX wcex;
  wcex.cbSize = sizeof (WNDCLASSEX);
   wcex.style = CS_HREDRAW | CS_VREDRAW;
    wcex.lpfnWndProc = WndProc;
     wcex.cbClsExtra = 0; 
     wcex.cbWndExtra = 0;
      wcex.hInstance = hInstance;
      wcex.hIcon LoadIcon = ( hInstance, MAKEINTRESOURCE (IDI_APPLICATION));
       wcex.hCursor = LoadCursor (NULL, IDC_ARROW); 
       wcex.hbrBackground = (HBRUSH) (COLOR_WINDOW +1);
        wcex.lpszMenuName = NULL; wcex.lpszClassName = szWindowClass; 
        wcex.hIconSm LoadIcon = ( wcex.hInstance, MAKEINTRESOURCE (IDI_APPLICATION)); 
if (! RegisterClassEx (& wcex))
     {
        MessageBox(NULL, 
            _T("Call to RegisterClassEx failed!"), 
            _T("Win32 Guided Tour"), 
            NULL); 
        return 1; 
    } 
int WINAPI WinMain(HINSTANCE hInstance, 
                   HINSTANCE hPrevInstance,
                   LPSTR lpCmdLine, 
                   int nCmdShow) ;
{ 
    WNDCLASSEX wcex;

    wcex.cbSize = sizeof(WNDCLASSEX); 
    wcex.style = CS_HREDRAW | CS_VREDRAW; 
    wcex.lpfnWndProc = WndProc; 
    wcex.cbClsExtra = 0; 
    wcex.cbWndExtra = 0; 
    wcex.hInstance = hInstance; 
    wcex.hIcon = LoadIcon(hInstance, MAKEINTRESOURCE(IDI_APPLICATION)); 
    wcex.hCursor = LoadCursor(NULL, IDC_ARROW);
    wcex.hbrBackground = (HBRUSH)(COLOR_WINDOW+1);
    wcex.lpszMenuName = NULL; wcex.lpszMenuName = NULL;
    wcex.lpszClassName = szWindowClass; 
  wcex.hIconSm = LoadIcon (wcex.hInstance, MAKEINTRESOURCE (IDI_APPLICATION));

    if (!RegisterClassEx(&wcex)) 
    { 
        MessageBox(NULL, 
             _T ("Chiamata alle RegisterClassEx fallita!"),
            _T("Win32 Guided Tour"), 
            NULL); 

        return 1; 
    } 

    hInst = hInstance; // Store instance handle in our global variable hInst = hInstance; instance handle / / Store nella nostra variabile globale

    // The parameters to CreateWindow explained: / / I parametri da CreateWindow spiegato:
    // szWindowClass: the name of the application / / SzWindowClass: il nome dell'applicazione
    // szTitle: the text that appears in the title bar / / SzTitle: il testo che compare nella barra del titolo
    // WS_OVERLAPPEDWINDOW: the type of window to create / / WS_OVERLAPPEDWINDOW: il tipo di finestra per creare
    // CW_USEDEFAULT, CW_USEDEFAULT: initial position (x, y) / / CW_USEDEFAULT, CW_USEDEFAULT: posizione iniziale (x, y)
    // 500, 100: initial size (width, length) / / 500, 100: dimensioni iniziali (larghezza, lunghezza)
    // NULL: the parent of this window / / NULL: il genitore di questa finestra
    // NULL: this application dows not have a menu bar / / NULL: questa applicazione finestre non hanno una barra dei menu
    // hInstance: the first parameter from WinMain / / HInstance: il primo parametro da WinMain
    // NULL: not used in this application / / NULL: non utilizzato in questa applicazione
    HWND hWnd = CreateWindow( 
        szWindowClass, 
        szTitle, 
        WS_OVERLAPPEDWINDOW, 
        CW_USEDEFAULT, CW_USEDEFAULT, 
        500, 100, 
        NULL, 
        NULL, 
        hInstance, 
        NULL 
    ); 

    if (!hWnd) 
    { 
        MessageBox(NULL, 
            _T("Call to CreateWindow failed!"), 
            _T("Win32 Guided Tour"), 
            NULL); 

        return 1; 
    } 

    // The parameters to ShowWindow explained: / / I parametri da ShowWindow spiegato:
    // hWnd: the value returned from CreateWindow / / HWnd: il valore restituito da CreateWindow
    // nCmdShow: the fourth parameter from WinMain / / NCmdShow: il quarto parametro da WinMain
    ShowWindow(hWnd, ShowWindow (hWnd, nCmdShow); 
    UpdateWindow(hWnd); 

     // Loop di messaggi principali:
    MSG msg;
    while (GetMessage(&msg, NULL, 0, 0)) 
    { 
        TranslateMessage(&msg); 
        DispatchMessage(&msg); 
    } 

    return (int) msg.wParam; 
} }

mi da questi errori
19 C:\Dev-Cpp\main.cpp `hInstance' undeclared (first use this function)
20 C:\Dev-Cpp\main.cpp expected `;' before "LoadIconA"
23 C:\Dev-Cpp\main.cpp `szWindowClass' undeclared (first use this function)
24 C:\Dev-Cpp\main.cpp expected `;' before "LoadIconA"
30 C:\Dev-Cpp\main.cpp [Warning] passing NULL used for non-pointer converting 4 of `int MessageBoxA(HWND__*, const CHAR*, const CHAR*, UINT)'
46 C:\Dev-Cpp\main.cpp [Warning] cast from pointer to integer of different size
51 C:\Dev-Cpp\main.cpp [Warning] cast from pointer to integer of different size
58 C:\Dev-Cpp\main.cpp [Warning] passing NULL used for non-pointer converting 4 of `int MessageBoxA(HWND__*, const CHAR*, const CHAR*, UINT)'
75 C:\Dev-Cpp\main.cpp `szTitle' undeclared (first use this function)
92 C:\Dev-Cpp\main.cpp [Warning] passing NULL used for non-pointer converting 4 of `int MessageBoxA(HWND__*, const CHAR*, const CHAR*, UINT)'
100 C:\Dev-Cpp\main.cpp `nCmdShow' undeclared (first use this function)
aaa
20/07/11 17:47
comina8
Non sono un esperto delle API di winzozz però int WINAPI WinMain corrisponde a int main del C ANSI...
Quindi inizia a usarne solo uno e a includere il codice nelle opportune parentesi
proprio come fosse un "int main" (SENZA ';')...
Poi vediamo che altri errori ti da...
Ultima modifica effettuata da comina8 20/07/11 17:49
aaa
20/07/11 17:48
HeDo
che ci fa il main dentro il winmain?

lascia perdere dev-cpp, usa visual c++ 2010.
Ultima modifica effettuata da HeDo 20/07/11 17:50
aaa
20/07/11 17:53
Che ci fanno due winmain dentro una main ??

Diciamo che il problema non è DevCpp o Visual Studio, ma le basi del linguaggio, che devi studiare prima di scrivere o compilare codice.