Shutdown



  • Programm ohne Fenster, das keinen Nachricht empfangen kann? 😮 😕 Ich würde das ein "Nicht-Programm" nennen.
    Was soll das für ein Prog sein?



  • Elektronix schrieb:

    Programm ohne Fenster, das keinen Nachricht empfangen kann? 😮 😕 Ich würde das ein "Nicht-Programm" nennen.
    Was soll das für ein Prog sein?

    ➡ Finde ich auch...

    Was soll das für ein Programm werden/sein??? 😕



  • ansi-c.com schrieb:

    Was soll das für ein Programm werden/sein??? 😕

    Ein Server.



  • Ja mindestens brauchst du schon eine Instanz, damit du überhaupt Messages von Windows erhalten kannst.
    Du brauchst ja kein Fenster für das Programm zu erstellen.
    Das ist dann nur im Taskmanager zu sehen.



  • SALOMON schrieb:

    Ja mindestens brauchst du schon eine Instanz, damit du überhaupt Messages von Windows erhalten kannst.
    Du brauchst ja kein Fenster für das Programm zu erstellen.
    Das ist dann nur im Taskmanager zu sehen.

    Mir ist gerade noch eine andere Möglichkeit eingefallen: Man kann einen Service erstellen. Aber da das unter windows 9x nicht funktioniert ist das mit dem "fake window" wohl tatsächlich die beste Lösung.

    Programm ohne Fenster, das keinen Nachricht empfangen kann? 😮 😕 Ich würde das ein "Nicht-Programm" nennen.
    Was soll das für ein Prog sein?

    Das trifft genau so auf jede Konsolenanwendung zu. Ich frage mich, ob die echt einfach ohne jede Vorwahnung beendet werden, wenn Windows runterfährt.



  • hi,

    ich denke mal die einzigste chance die du hast ist das runterfahren abzufangen, wie es m$-programme machen.
    wenn outlook offen ist sagt der rechner glaube ich sinngemaess, das du outlook erst beenden sollst. du kannst ja mal schaunen was fuer nachrichten da gesendet werden (wenn du sie sehen kannst bevor das prog zu geht 🙂 )

    gruss
    msp



  • Es gibt tatsächlich so eine Nachricht:
    WM_QUERYENDSESSION



  • Die ein Programm ohne Fenster (Konsolen-Anwendung) und somit ohne Nachrichtenschleife nie empfangen wird. 😉



  • Wenn es eine Konsolenanwendung ist, dann habe ich vielleicht eine Idee...
    Es gibt eine Funktion:

    HWND GetConsoleWindow(void);
    

    Vielleicht ist es möglich das Fenster zu subclassen, ich habe das noch nicht gemacht. Dann könnte man die Nachrichtenschleife anzapfen und würde auch WM_QUERYENDSESSION oder WM_ENDSESSION empfangen.



  • Für Consolen-Anwendungen musst Du eingach einen handler mittels
    SetConsoleCtrlHandler
    registrieren, dann bekommst Du alles mit was Du willst...



  • stell den linker doch einfach von console auf windows um


Anmelden zum Antworten