Salut à tous!
Je ne trouve vraiemnt pas ce qui est faux :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
 
#include "windows.h"
#include "ddraw.h"
 
bool InitDDObject(HWND);
LPDIRECTDRAW lpDD;
 
LRESULT CALLBACK WndProc( HWND hwnd, UINT message, WPARAM wParam, LPARAM lParam ) 
{
    switch(message) 
    { 
        case WM_KEYDOWN : 
             PostQuitMessage(0);
             break;
 
        case WM_DESTROY : 
             PostQuitMessage(0); // ici, on intercepte le message de destruction
             break;
 
        case WM_PAINT : // dessin de la zone client de l'application
        {
            PAINTSTRUCT PaintStruct; 
            HDC PaintDC=BeginPaint( hwnd, &PaintStruct ); 
            EndPaint( hwnd, &PaintStruct );
        }
        break;
    }
    return DefWindowProc( hwnd, message, wParam, lParam );
}
 
int WINAPI WinMain(HINSTANCE hInst,HINSTANCE hPrevInst,LPSTR lpszCmpParam,int nCmdShow) 
{
    WNDCLASS W; // structure de classe de fenêtre
    HWND hwnd;
    LPSTR Name = "Application";
    MSG msg;
 
    // remplissage de la structure de classe    
    memset( &W, 0, sizeof(WNDCLASS) );
    W.style = CS_HREDRAW | CS_VREDRAW;
    W.hInstance = hInst;
    W.lpszClassName = Name;
	W.hbrBackground =(HBRUSH)  GetStockObject( BLACK_BRUSH );
    W.lpfnWndProc = WndProc; // lien vers la procédure de fenêtre
    RegisterClass( &W ); // enregistrement dans Windows de la structure
 
    // Création de la fenêtre avec toutes les options nécessaires (taille = taille de l'écran)
    hwnd = CreateWindowEx( 0, Name, Name, WS_POPUP, 0, 0, 
		GetSystemMetrics( SM_CXSCREEN ), GetSystemMetrics( SM_CYSCREEN ), 
		NULL, NULL, hInst, NULL ); 
 
    // Affichage de la fenêtre
    ShowWindow( hwnd, nCmdShow ); 
    UpdateWindow( hwnd );
 
	InitDDObject ( hwnd ) ;
 
    // Boucle d'écoute des messages
    while( GetMessage( &msg, NULL, 0, 0) ) 
    { 
        TranslateMessage( &msg ); 
        DispatchMessage( &msg );
    }
    return msg.wParam; 
}
 
bool InitDDObject(HWND hwnd)
{
    HRESULT ddrval ; 
 
    // Création de l'objet DirectDraw
	ddrval = DirectDrawCreate ( NULL , &lpDD , NULL ) ; 
    if ( ddrval != DD_OK ) 
        return ( false ) ;
 
    // Mode exclusif
	ddrval = lpDD->SetCooperativeLevel( hwnd, DDSCL_EXCLUSIVE | DDSCL_FULLSCREEN ) ; 
    if ( ddrval != DD_OK )
    {
        lpDD->Release ( ) ;
        return ( false ) ;
    }
 
    // Reglage du mode d'affichage
	ddrval = lpDD->SetDisplayMode( 640, 480, 8); 
    if ( ddrval != DD_OK ) 
    {
        lpDD->Release ( ) ;
        return(false) ;
    } 
    return ( true ) ; 
}
Dans VS.NET 2003, on me dit :
Sa me met un de ces truc....
en gros : error LNK2001
error1120

Et dans DevC++, on me dit :
[linker error] undefined reference to 'GetStockObject@4'
[linker error] undefined reference to 'DirectDrawCreate@12'
id retourned 1 exit status
[Build Error] [Projet.exe] error 1
Jespere que vous arriverez a me réponde, A++ et merci davance!