Thread



  • Hallo Leute,

    ich brauch mal wieder eure Hilfe.
    Ich erstelle mit CreateThread einen Thread. Der Thread wird entweder mit Return -1, 0 oder 1 beendet. (Frei vergeben von mir)

    Welche Messages bekomme ich vom System Win CE, wenn sich der Thread beendet.

    Ich brauche die Info, das der Thread beendet ist. Gibts da vielleicht eine andere Möglichkeit?

    Danke für die Unterstützung

    Chris



  • Du kannst doch mit WaitForSingleObject auf den Thread warten.



  • _matze schrieb:

    Du kannst doch mit WaitForSingleObject auf den Thread warten.

    ich würde ungern warten wollen

    ich habe auch schon überlegt mir eine postmessage zu schicken, kann sie aber nicht rausfiltern, weil ich nicht weiß, welche kommt bzw wie der bezeichner heißt.



  • Was hindert dich daran dir selber eine Nachricht zu schicken am Ende des Threads?



  • _Luckie schrieb:

    Was hindert dich daran dir selber eine Nachricht zu schicken am Ende des Threads?

    eigentlich gar nichts.

    habe PostQuitMessage(0x1234) gesendet. doch ich weiß nicht, wie ich die nachricht abfange.

    PostMessage(NULL,,,); gibts ja auch, aber da weiß ich nicht, welche parameter ich übergeben muss und das gleiche problem, wie fange ich sie ab?



  • Chris233 schrieb:

    eigentlich gar nichts.

    habe PostQuitMessage(0x1234) gesendet. doch ich weiß nicht, wie ich die nachricht abfange.

    PostMessage(NULL,,,); gibts ja auch, aber da weiß ich nicht, welche parameter ich übergeben muss und das gleiche problem, wie fange ich sie ab?

    Ich dachte natürlich an eine benutzerdefinierte Nachricht. 🙄

    #define MSG_ENDTHREAD WM_USER + 1

    Und die schickst du mit Sendmessage oder Postmessage an dein eigenes Fenster. Dazu musst du dem Thread natzürlich als Parameter das Fensterhandle mitgeben.



  • _Luckie schrieb:

    Chris233 schrieb:

    eigentlich gar nichts.

    habe PostQuitMessage(0x1234) gesendet. doch ich weiß nicht, wie ich die nachricht abfange.

    PostMessage(NULL,,,); gibts ja auch, aber da weiß ich nicht, welche parameter ich übergeben muss und das gleiche problem, wie fange ich sie ab?

    Ich dachte natürlich an eine benutzerdefinierte Nachricht. 🙄

    #define MSG_ENDTHREAD WM_USER + 1

    Und die schickst du mit Sendmessage oder Postmessage an dein eigenes Fenster. Dazu musst du dem Thread natzürlich als Parameter das Fensterhandle mitgeben.

    so gehts nicht:

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

    switch (message)
    {
    case WM_COMMAND:
    wmId = LOWORD(wParam);
    wmEvent = HIWORD(wParam);
    // Menüauswahl bearbeiten:
    switch (wmId)
    {case ...}
    }
    }
    und im thread

    PostQuitMessage(MSG_ENDTHREAD);

    was versteh ich daran nicht?



  • Du sollst ja auch nicht PostQuitMessage verwenden, sondern PostMessage.



  • Chris233 schrieb:

    so gehts nicht:

    Wenn du unsere Antworten auch nicht liest, können wir dir noch so viel helfen, es wird nichts nützen.



  • _Luckie schrieb:

    Chris233 schrieb:

    so gehts nicht:

    Wenn du unsere Antworten auch nicht liest, können wir dir noch so viel helfen, es wird nichts nützen.

    aber so gings echt nicht....

    aber ich habs hinbekommen


Anmelden zum Antworten