Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre questionLRESULT CALLBACK WindowProcess( HWND hWnd, UINT message, WPARAM wParam, LPARAM lParam ) { switch( message ) { case WM_KEYDOWN : { switch( wParam ) { case VK_ESCAPE : DestroyWindow( hWnd ); break; } } case WM_DESTROY : { PostQuitMessage( 0 ); break; } default : return( DefWindowProc( hWnd, message, wParam, lParam ) ); } return( FALSE ); } bool InitInstance( HINSTANCE hInst, int mode ) { hWnd = CreateWindow( "Moteur", "Moteur", WS_OVERLAPPEDWINDOW, CW_USEDEFAULT, 0, CW_USEDEFAULT, 0, NULL, NULL, hInst, NULL ); if( !hWnd ) return FALSE; ShowWindow( hWnd, mode ); UpdateWindow( hWnd ); return TRUE; } ATOM EnregistrerClasse( HINSTANCE hInst ) { WNDCLASSEX wndClasse; wndClasse.cbSize = sizeof( WNDCLASSEX ); wndClasse.style = CS_HREDRAW | CS_VREDRAW; wndClasse.lpfnWndProc = ( WNDPROC )WindowProcess; wndClasse.cbClsExtra = 0; wndClasse.cbWndExtra = 0; wndClasse.hInstance = hInst; wndClasse.hIcon = NULL; wndClasse.hCursor = LoadCursor( NULL, IDC_ARROW ); wndClasse.hbrBackground = ( HBRUSH )( COLOR_WINDOW+1 ); wndClasse.lpszMenuName = "Moteur"; wndClasse.lpszClassName = "Moteur"; wndClasse.hIconSm = NULL; return( RegisterClassEx( &wndClasse ) ); } int APIENTRY WinMain( HINSTANCE hInst, HINSTANCE hPrevInstance, LPSTR lpCmdLine, int mode ) { LONGLONG t0, t; float dt, ft; if( !EnregistrerClasse( hInst ) ) { return( FALSE ); } if( !InitInstance( hInst, mode ) ) { return( FALSE ); } CompteurTemps( t0, ft ); PeekMessage( &msg, NULL, 0, 0, PM_NOREMOVE ); while( msg.message != WM_DESTROY ) { if( PeekMessage( &msg, NULL, 0, 0, PM_REMOVE ) ) { TranslateMessage( &msg ); DispatchMessage( &msg ); } else { if( CompteurTemps( t0, ft ) ) QueryPerformanceCounter( ( LARGE_INTEGER * ) &t ); else t = GetTickCount(); dt = ( t - t0 ) * ft; t0 = t; } } UnregisterClass( "Moteur", hInst ); return( int( ( msg.wParam ) ) ); }