begin process at 2012 05 30 13:24:44
  Trouver un code source :
 
dans
 
Accueil > Forum > 

Archive C/C++

 > 

Archives

 > 

Au secours

 > 

terminer un processus


Derniers messages déposésPoser une question dans le forum ou lancer une discussion

terminer un processus

mardi 26 juillet 2005 à 19:09:01 | terminer un processus

kyript

Membre Club
bonjour a tous voila mon probleme quand je ferme mon programme, le processus ne se termine pas voila le code case SC_CLOSE : // cas d'un click sur la croix de fermeture { int quit = 0; quit = MessageBox(hWnd,"Vous voulez réellement Quitter", szClassName,MB_YESNO|MB_ICONQUESTION); if (quit == IDNO) {return 0; break;} SendMessage( hWnd, WM_CLOSE, 0, 0); break; } ... ... case WM_CLOSE: { DestroyMenu(hMenu); DestroyWindow( hWnd ); break; } case WM_DESTROY: { PostQuitMessage (0); // (Voir partie 1) break; }
mardi 26 juillet 2005 à 20:40:23 | Re : terminer un processus

vecchio56

Administrateur CodeS-SourceS
WM_CLOSE, et SC_CLOSE sont-ils suivis d'un DefWindowProc à la fin du switch?
mardi 26 juillet 2005 à 20:42:44 | Re : terminer un processus

kyript

Membre Club
oui voila tout le code case WM_SYSCOMMAND : { switch (wParam) { case SC_CLOSE : // cas d'un click sur la croix de fermeture { int quit = 0; quit = MessageBox(hWnd,"Vous voulez réellement Quitter", szClassName,MB_YESNO|MB_ICONQUESTION); if (quit == IDNO) {return 0; break;} SendMessage( hWnd, WM_CLOSE, 0, 0); break; } // fin case SC_CLOSE default : // on renvoie tous les autres messages système à // windows selon la procédure normale. {return DefWindowProc (hWnd, messages, wParam, lParam);break;} }// fin switch (wParam) break; } case WM_CLOSE: // ------------------------------------------------------- { DestroyMenu(hMenu); DestroyWindow( hWnd ); break; } // fin case WM_CLOSE -------------------------------------------------- case WM_DESTROY: { PostQuitMessage (0); // (Voir partie 1) break; } // fin case WM_DESTROY ---------------------------------------------- default: // (Voir partie 1) return DefWindowProc (hWnd, messages, wParam, lParam); break; } //fin de switch
mardi 26 juillet 2005 à 21:04:13 | Re : terminer un processus

vecchio56

Administrateur CodeS-SourceS
Quand tu recois WM_CLOSE, tu dois appeler DefWindowproc, sinon WM_DESTROY ne sera pas recu. Ou plus simplement, tu mets un PostQuitMessage dans le WM_CLOSE
mardi 26 juillet 2005 à 21:11:19 | Re : terminer un processus

kyript

Membre Club
comment ca ? j'ai mis PostQuitMessage(0) dans WM_CLOSE et tjrs pareille , le processus ne se coupe pas
mardi 26 juillet 2005 à 21:16:54 | Re : terminer un processus

vecchio56

Administrateur CodeS-SourceS
Oui, en plus j'avais pas vu mais t'a mis un DestroyWindow donc WM_DESTROY sera bien recu Ca vient peut être de ta boucle de messages, comment est-elle? Sinon tu peux essayer de mettre une ExitProcess(0) à la fin de ton prog, mais normalement c'est pas nécessaire
mardi 26 juillet 2005 à 23:33:01 | Re : terminer un processus

kyript

Membre Club
bon je te laisse tou le programme car la je suis un peu perdu car sur un programme que j'ai dans le meme style ben le processus ce ferme bien voila le code LRESULT CALLBACK WindowProc(HWND hWnd, UINT messages, WPARAM wParam, LPARAM lParam) { HDC hDc; //handle sur le device context RECT rc; // on créer un objert de la structure rect; PAINTSTRUCT ps; // On Déclare un objet de structure PAINTSTRUCT, qui va nous servir // à contenir les informations pour l'écriture dans le // contexte d'affichage. switch (messages) { case WM_CREATE: { hCouleur = CreateSolidBrush(RGB(255,255,255)); // blanc Police = "Arial"; break; } case WM_PAINT: { hDc = BeginPaint(hWnd, &ps); GetClientRect(hWnd, &rc); SetBkMode(hDc, TRANSPARENT); SetBkColor(hDc,0x00FFFF00); // Bleu SetTextColor(hDc, 0x000000FF); // rouge HFONT MaPolice; // On déclare un handle sur une fonte. MaPolice = CreateFont(nHauteur_Caractere,nLargeur_Caractere, nOrientation_Caractere,0, 500,false,false,false,0, OUT_DEFAULT_PRECIS, CLIP_DEFAULT_PRECIS, DEFAULT_QUALITY,DEFAULT_PITCH | FF_DONTCARE, Police_Utile); SelectObject(hDc, MaPolice); SetTextColor(hDc, 0x005C03BE); DrawText(hDc, "Bienvenue sur le serveur. v1.0", -1, &rc, DT_SINGLELINE|DT_LEFT |DT_TOP); DeleteObject(MaPolice); EndPaint(hWnd, &ps); break; } case WM_COMMAND: { switch (LOWORD(wParam)) { case IDM_VEILLE: { SendMessage(hWnd,WM_SYSCOMMAND,SC_SCREENSAVE,0); break; } case IDM_QUITTER: { int quit = 0; // Pour récupérer la réponse de l'utilisateur. quit = MessageBox(hWnd,"Vous voulez réellement Quitter", szClassName,MB_YESNO|MB_ICONQUESTION); if (quit == IDNO) { return 0; break; } else { SendMessage( hWnd, WM_CLOSE, 0, 0L); break; } break; } break; } // fin switch } // WS_COMMAND case WM_SYSCOMMAND : { switch (wParam) { case SC_CLOSE : // cas d'un click sur la croix de fermeture { int quit = 0; quit = MessageBox(hWnd,"Vous voulez réellement Quitter", szClassName,MB_YESNO|MB_ICONQUESTION); if (quit == IDNO) {return 0; break;} SendMessage( hWnd, WM_CLOSE, 0, 0); break; } // fin case SC_CLOSE default : // on renvoie tous les autres messages système à // windows selon la procédure normale. {return DefWindowProc (hWnd, messages, wParam, lParam);break;} }// fin switch (wParam) break; } case WM_CLOSE: // ------------------------------------------------------- { DestroyMenu(hMenu); DestroyWindow( hWnd ); break; } // fin case WM_CLOSE -------------------------------------------------- case WM_DESTROY: { PostQuitMessage (0); // (Voir partie 1) break; } // fin case WM_DESTROY ---------------------------------------------- default: // (Voir partie 1) return DefWindowProc (hWnd, messages, wParam, lParam); break; } //fin de switch return 0; }
mercredi 27 juillet 2005 à 04:03:48 | Re : terminer un processus

vecchio56

Administrateur CodeS-SourceS
Ya pas tout ton programme la. Je parlais de la boucle des messages qui est dans le WinMain
mercredi 27 juillet 2005 à 10:35:13 | Re : terminer un processus

kyript

Membre Club
a ouai bon cete fois si je met tout le winmain() #include #include #include "Tutor_Win_32_Part_3a.h" LRESULT CALLBACK WindowProc(HWND, UINT, WPARAM, LPARAM); HWND hWnd; HMENU hMenu; HMENU hMenu_Raccourci; // Declaration handle menu // pour la fonction TrackPopupMenu HBRUSH hCouleur; char* Police; const HBRUSH hCouleur_Blanc = CreateSolidBrush(RGB(255,255,255)); HBRUSH hBackground = hCouleur_Blanc ; static char szClassName[ ] = "Fenêtre Windows"; static int nSelection = IDM_BLANC; static int nHauteur_Caractere = 20; static int nLargeur_Caractere = 10; static int nOrientation_Caractere = 0; static char* Police_Utile = "Arial"; int WINAPI WinMain( HINSTANCE hInstance, HINSTANCE hPrevInstance, LPSTR lpszCmdLine, int nCmdShow ) { WNDCLASSEX wndClassex; wndClassex.cbSize = sizeof(WNDCLASSEX); wndClassex.style = CS_HREDRAW | CS_VREDRAW; wndClassex.lpfnWndProc = WindowProc; wndClassex.cbClsExtra = 0; wndClassex.cbWndExtra = 0; wndClassex.hInstance = hInstance; wndClassex.hIcon = NULL; wndClassex.hCursor = NULL; wndClassex.hbrBackground = hBackground; wndClassex.lpszMenuName = NULL; wndClassex.lpszClassName = szClassName; wndClassex.hIconSm = NULL; if (!RegisterClassEx(&wndClassex)) { MessageBeep(0xFFFFFFFF | MB_ICONASTERISK); MessageBox(hWnd, "Classe non enregistrer", "Probleme", MB_OK); return 0; } hWnd = CreateWindowEx(0, szClassName, "Bientot un serveur", WS_OVERLAPPEDWINDOW, CW_USEDEFAULT, CW_USEDEFAULT, CW_USEDEFAULT, CW_USEDEFAULT, HWND_DESKTOP, NULL, hInstance, NULL ); ShowWindow(hWnd, SW_SHOW); hMenu = LoadMenu(hInstance, "Menu"); SetMenu(hWnd, hMenu); UpdateWindow(hWnd); MSG messages; while(GetMessage(&messages, hWnd, 0, 0)) { DispatchMessage(&messages); TranslateMessage(&messages); } return messages.wParam; }
mercredi 27 juillet 2005 à 18:42:44 | Re : terminer un processus

cali70

Membre Club

Je vais peu être dire une connerie je sais pas mais si t'éssayais de de mettre le translatemessage avant le dispatchmessage.... peu être que ca irrait mieux...


1 2 3

Cette discussion est classée dans : case, break, processus, close, quit


Répondre à ce message

Sujets en rapport avec ce message

Petit jeu en mode texte [:D] [ par thedivxboy ] Alors je carbure en C aujourd'hui ...Pourquoi la tête ne se déplace-t-elle pas au bon endroit ?Pourquoi dois-je mettre un getchar() à un certain endr erreur a l'execution [ par vangeurmasker ] J'ai créé un projet sous VC++ 6 pour faire une calcullette qui annalyse une chaine entrée. Lors de la compilation je n'ai aucune erreur. C'est a l'exe [Hook Clavier] Pb d'accents circonflexes [ par BeLZeL ] J'ai fait un programme simple dont le but est de faire un hook clavier global, et de tout mettre dans un fichier log.Tout fonctionne, sauf une chose, CASE [ par CHKDSK2K ] Bonjour, j'ai une variable de type char "choix";  je voudrais utiliser cette variable dans un switch mais il ne veut passwitch(choix){    case 'maison Static et mfc [ par xXTomTomXx ] voici mon code: int CbChange = CbCam->GetCurSel(); //on récupère la position de la combobox <FONT color=#0000ff size=2 Impossible d'envoyer un mail avec Mapi + Outlook ? [ par GDon_Fr ] Bonjour à tous,Je dois développer une application qui saura envoyer un mail via n'importe quel client mail compatible avec "Simple Mapi". En regardant Mapi et outlook ... comment ca marche ? [ par GDon_Fr ] Bonjour à tous,Comme j'ai pas de réponse à côté je me permets de venir sur ce forum, vu que ca devient super mega URGENT :((((Je dois développer une a Récuperation de privilege sur un partage [ par sam2004 ] Salut tous, j'ai utilisé la fonction NetShareEnum avec la structure de donnée SHARE_INFOS_2 mai pas de resultat .est ce que qlqu'un a une idée commen probleme de socket sur dev c++ [ par thunderfear ] bonjour,donc voila g un gros probleme avec les socket. dès que je compile un code avec un socket, le linker me dit des truc et n'execute pas le prog. Problème de SWITCH [ par EMSIEN ] Bonjour Voilà J'ai rencontré un problème Lors de l'utilisation d'une instruction switch,D'abord je veux réaliser une fonction permettant de retourner


Nos sponsors


Sondage...

Comparez les prix

CalendriCode

Mai 2012
LMMJVSD
 123456
78910111213
14151617181920
21222324252627
28293031   

Consulter la suite du CalendriCode

A découvrir



 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 1,513 sec (3)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales