WM_DESTROY



  • Hi, ich wollte eine funktion ausführen lassen, wenn der Computer heruntergefahren wird und eine, wenn das Programm gestartet wird.

    Ich hab also eine WinMain erstellt und das getan:

    case WM_CREATE:
    //Funktionsaufruf
    break;
    
    case WM_DESTROY:
    //Funktionsaufruf
    break;
    

    Aber die Funktionen werden nicht ausgeführt. Kann es daran liegen, dass ich gar kein Fenster erstelle?



  • Kann es daran liegen, dass ich gar kein Fenster erstelle?

    rofl



  • Hallo,
    wen du kein Fenster in der WinMain erzeugst auf was soll dan WM_CREATE WM_DESTROY angewendet weden?

    MFG TaccoGo



  • Ok, habe jetzt ein Fenster erstellt. Das Fenster wird aber nicht gezeigt.

    Es soll auch erst beendet werden, wenn Der Computer heruntergefahren wird.

    Also hab ich die Funktion in WM_DESTROY eingefügt, aber wenn ich mich jetzt abmelde, Wird diese Funktion nicht aufgerufen.



  • Also bekommst du jetzt schonmal das WM_CREATE und dein Fenster ist nur unsichtbar, oder wird es erst gar nicht erstellt?!

    WM_ENDSESSION 🙂



  • case WM_DESTROY:
    {        
    dat();
    PostQuitMessage (0);       /* send a WM_QUIT to the message queue */
    break;
    }
    
    case WM_ENDSESSION:
    dat();
    break;
    

    Will eigentlich nur die Funktion dat() aufrufen, wenn der Benutzer sich abmeldet



  • nero-ex schrieb:

    [msdn]WM_ENDSESSION message informs the application whether the session is ending[/msdn]
    mit session meinen die, ob der PC herunter gefahren wird, oder?

    lParam
    If this parameter includes ENDSESSION_LOGOFF, the user is logging off; otherwise, the user is shutting down the system. (Note that this parameter is a bit mask. To test for this value, use a bit-wise operation; do not test for equality.)
    If this parameter is zero, the system is shutting down.

    Aber du hast immer noch nicht gesagt, ob du überhaupt WM_CREATE bekommst, also ob überhaupt ein Fenster erstellt wurde 🙄



  • Ja, die Funktion bei WM_CREATE wird aufgefürht


Anmelden zum Antworten