Bonjour,

J'ai un souci avec un bout de code windows. Voici mon code :

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
 
 
#include <windows.h>
#include <iostream.h>
 
LRESULT CALLBACK dlgFuncProc(HWND, UINT, WPARAM, LPARAM);
 
int APIENTRY WinMain(HINSTANCE hInst, HINSTANCE hPrevInst, LPSTR lpCmdLine, int nCmdShow)
{
  MSG msg;
 
  DialogBox(hInst, "INITDIALOG", NULL, (DLGPROC)dlgFuncProc);
 
  // Boucle des messages
  while(GetMessage(&msg,NULL,0,0))
  {
    TranslateMessage(&msg);
    DispatchMessage(&msg);  
  }
 
  return (msg.wParam);
}
 
LRESULT CALLBACK dlgFuncProc(HWND hDlg, UINT uMsg, WPARAM wParam, LPARAM lParam)
{
  switch(uMsg)
  {
    case WM_COMMAND:
	  switch(LOWORD(wParam))
	  {
	     case IDOK:
		   EndDialog(hDlg,IDOK);
		 break;
	  }
	  break;
	default:
		return(FALSE);
  }
 
  return(TRUE);
}

Tout fonctionne, la boîte de dialogue s'affiche très bien (elle est créée à partir d'un fichier de ressources), et quand je clique sur ok, la boîte de dialogue est fermée.

CEPENDANT, quand je fais CTRL + ALT + SUPP, je vois que mon programme est toujours actif.

Quelqu'un pourrait-il me dire ce qui arrive, j'ai l'impression que le programme n'arrive pas au return (msg.wParam).

Je vous remercie par avance. Cordialement.