2010-03-09 3 views

Répondre

3

Poignée WM_SYSKEYUP, WM_SYSKEYDOWN et retour 0

Voici le WndProc pour gérer ces messages

LRESULT CALLBACK WndProc(HWND hWnd, UINT message, WPARAM wParam, LPARAM lParam) 
{ 
    int wmId, wmEvent; 
    PAINTSTRUCT ps; 
    HDC hdc; 

    switch (message) 
    { 
    case WM_COMMAND: 
     wmId = LOWORD(wParam); 
     wmEvent = HIWORD(wParam); 
     // Parse the menu selections: 
     switch (wmId) 
     { 
     case IDM_ABOUT: 
      DialogBox(hInst, MAKEINTRESOURCE(IDD_ABOUTBOX), hWnd, About); 
      break; 
     case IDM_EXIT: 
      DestroyWindow(hWnd); 
      break; 
     default: 
      return DefWindowProc(hWnd, message, wParam, lParam); 
     } 
     break; 
    case WM_SYSKEYDOWN: 
    case WM_SYSKEYUP: 
    case WM_KEYDOWN: 
    case WM_KEYUP: 
     return 0; 
    case WM_PAINT: 
     hdc = BeginPaint(hWnd, &ps); 
     // TODO: Add any drawing code here... 
     EndPaint(hWnd, &ps); 
     break; 
    case WM_DESTROY: 
     PostQuitMessage(0); 
     break; 
    default: 
     return DefWindowProc(hWnd, message, wParam, lParam); 
    } 
    return 0; 
} 
+0

Comment puis-je gérer ce type de messages dans c ?? – Siddiqui

+0

Win32 est une API C. Lorsque vous créez un exemple d'application Windows dans Visual Studio, vous devriez voir le WndProc généré pour vous. Vous gérez les messages comme indiqué ci-dessus. – Indy9000

2

L'appui sur alt + f4 envoie un message WM_CLOSE. Vous devez correctement gérer ce message.

+0

Comment puis-je gérer ce type de messages ??? – Siddiqui

+0

@Arman, juste pour noter, cela ne fera que désactiver le clavier dans votre programme, pas dans d'autres. De plus, vous ne pouvez jamais désactiver la combinaison CTRL + ALT + SUPPR. –

+0

Comment désactiver dans c ?? Un indice? – Siddiqui

Questions connexes