Aus Thread Hauptfenster schließen



  • Hallo ich versuche mich gerade in die Windows Programmierung mit C einzuarbeiten. Dazu habe ich einen Quellcode gefunden den ich hier un da etwas ändere. Nun habe ich dieses Problem.

    Ein Thread wird gestartet. Im vierten Parameter übergebe ich das Fenster Handle an die Thread-Funktion.

    hThread=CreateThread(NULL,0,(LPTHREAD_START_ROUTINE)Thread,
    (LPVOID) hWnd,0,&dwThread);
    
    DWORD Thread(LPVOID param)
    {	
    	MessageBox(NULL,"Funktioniere ich?","TEST",MB_OK);
    	SendMessage((HWND)param,WM_DESTROY,NULL,NULL);
    	return 0;
    }
    

    Nach dem drücken auf OK soll das Hauptfenster geschlossen werden. Wenn ich die Doku richtig verstanden habe übergibt man doch hier das Fensterhandle an das Thread. Warum schließt es dann nicht das Hauptfenster?



  • Du sendest damit nur eine Message WM_DESTROY in dieser muß aber noch drin stehen, dass das Programm geschlossen werden soll !

    case WM_DESTROY: 
    		{
    
    			PostQuitMessage(0);
    			return 0;
    		}
    

    oder Du benutzt gleich

    PostQuitMessage(0);
    


  • 👍


Anmelden zum Antworten