Ergebnis 1 bis 8 von 8
  1. #1

    Standard WM_QUERYENDSESSION auswerten

    Hey leute,

    ich möchte eigentlich nur detecten ob sich der Pc runterfährt um dann eine entsprechende Aktion auszuführen.. nun zu meinem problem ich bin auf WM_QUERYENDSESSION gestoßen womit das angeblich möglich sein soll ^_^...

    Ich frage mich nur wie ich das implementieren soll.. hat jemand sich damit schonmal beschäftigt? Ich hab eine Formlose - application und muss anscheinend zusätzlich ein top-level-window erstellen ( RegisterServiceCtrlHandlerEx ?) damit er die Message gesendet kriegt. Doch irgendwie verstehe ich diese 2-3 Beispiele die es im Netz gibt nicht.

    hier z.B. : C/C++ Forum :: Auf Herunterfahren reagieren

    Erbitte Hülfe

  2. #2
    OpCodeKiddy Avatar von EBFE
    Registriert seit
    30.03.2009
    Beiträge
    442

    Standard

    Für Konsole gibt es SetConsoleCtrlHandler Function (Windows)
    The system generates CTRL_CLOSE_EVENT, CTRL_LOGOFF_EVENT, and CTRL_SHUTDOWN_EVENT signals when the user closes the console, logs off, or shuts down the system so that the process has an opportunity to clean up before termination. Console functions, or any C run-time functions that call console functions, may not work reliably during processing of any of the three signals mentioned previously. The reason is that some or all of the internal console cleanup routines may have been called before executing the process signal handler.
    TrueCrypt/RAR/Zip Passwort vergessen und das Bruten dauert ewig? Oder brauchst du fein abgestimmte Wortlisten? Hilf dir selbst mit WLML - Word List Markup Language
    Gib Stoned/Mebroot/Sinowal und anderen Bootkits keine Chance: Anti Bootkit v 0.8.5

  3. #3

    Standard

    Habe aber keine console :E, die frage ist auch garnicht welche funktionen es gibt sondern eher wie ich das implementiere da ich mit sowas noch keine Erfahrung habe :X

  4. #4
    NoClose Wurm
    Registriert seit
    21.03.2008
    Beiträge
    196

    Standard

    Guck hier:
    Tutorial: A Simple Window

    Code:
    LRESULT CALLBACK WndProc(HWND hwnd, UINT msg, WPARAM wParam, LPARAM lParam)
    {
        switch(msg)
        {
            case WM_CLOSE:
                DestroyWindow(hwnd);
            break;
            case WM_DESTROY:
                PostQuitMessage(0);
            break;
            case WM_QUERYENDSESSION:
            //........
            break;
            default:
                return DefWindowProc(hwnd, msg, wParam, lParam);
        }
        return 0;
    }
    Wie in dem verlinkten Thread schon steht: du kannst auch ein unsichtbares Fenster erzeugen oder du hast eine Konsole und dann brauchst du die Funktion von EBFE

  5. #5

    Standard

    Gibt es noch irgendeine andere möglichkeit das zu machen? Ich will keine Form erstellen :Z... kann damit nicht wirklich umgehen und auch nicht die Nerven dass zu lernen, wenn ich die form habe.. und darin die while(..) funktion ist.. wo soll ich dann bitte die nachfolgenden Funktionen reinpacken in sowas wie Form-Load? Damit habe ich mich in C/C++ noch nicht beschäftigt..

    Code:
    int WINAPI WinMain( HINSTANCE hInst, HINSTANCE hPrevInst, LPSTR lpCmd, int nShow )
    {
    
    CreateWindow.. bla
    
       while(GetMessage(&Msg, NULL, 0, 0) > 0)
        {
            TranslateMessage(&Msg);
            DispatchMessage(&Msg);
        }
        return Msg.wParam;
    }
    da können ja nicht die Funktionen hinter wenn da nur das fenster created wird
    Geändert von CYSER (05.12.2010 um 18:06 Uhr)

  6. #6
    Der mit Anatidaephobie Avatar von blackberry
    Registriert seit
    11.07.2008
    Beiträge
    2.350

    Standard

    Man muss sich auch nicht alles vorkauen lassen. Allgemein würde ich dir ans Herz legen dir die Posts von G36KV auch durchzulesen - das sind sie nämlich oft auch wert - so auch hier.
    Hättest du das nämlich getan, wäre dir der Link sofort ins Auge gefallen -.-

    PDFTT cr3w a.E. — ReiDC0Re, lindor, Sera, berry
    please do feed the trolls crew and elk
    Ehrenwerte Mitglieder im Ruhestand: OpCodez, SFX.
    "Was sich blackberry gerade denkt" — Vorsicht! Frei laufender Wahnsinn!
    Zitat von fuckinghot19: "PS: Blackberry ist auf FH der Trollkönig ^^."
    An dieser Stelle danke ich all meinen Fans und Hatern gleichermaßen ^.^

  7. #7

    Standard

    Ich habs mir durchgelesen und auch getestet, dann hatte ich ne form die sogar unsichtbar war. Die Frage war nur wie ich jetzt weite Prozeduren aufrufe da diese komische while-schleife mich daran hinderte.

    Problem ist einfach dass ich mir da schnell was zusammen pasten wollte ohne es zu verstehen ( Windows-forms)
    Geändert von CYSER (05.12.2010 um 19:00 Uhr)

  8. #8
    Der mit Anatidaephobie Avatar von blackberry
    Registriert seit
    11.07.2008
    Beiträge
    2.350

    Standard

    Bei einer Forms-Anwendung willst du ja eigentlich nur etwas machen, wenn der Benutzer es "provoziert", d.h. ein Event auslöst, welches du mit der Message-Loop abfängst und in der WindowsProcedure behandelst.

    Ansonsten musst du halt vor der Schleife einen neuen Thread starten - ist doch logisch o_O

    PDFTT cr3w a.E. — ReiDC0Re, lindor, Sera, berry
    please do feed the trolls crew and elk
    Ehrenwerte Mitglieder im Ruhestand: OpCodez, SFX.
    "Was sich blackberry gerade denkt" — Vorsicht! Frei laufender Wahnsinn!
    Zitat von fuckinghot19: "PS: Blackberry ist auf FH der Trollkönig ^^."
    An dieser Stelle danke ich all meinen Fans und Hatern gleichermaßen ^.^

Ähnliche Themen

  1. [S] Programm zum logs auswerten
    Von Variable X im Forum Anwendungssoftware
    Antworten: 3
    Letzter Beitrag: 03.08.2010, 15:14
  2. HijackThis runterladen & auswerten
    Von CurRy im Forum Biete Tutorials
    Antworten: 1
    Letzter Beitrag: 15.07.2009, 00:00
  3. Hijackthis auswerten bitte - Spywareprob
    Von Roflcopter im Forum Sicherheit
    Antworten: 9
    Letzter Beitrag: 24.10.2008, 18:48
  4. HiJack Log bitte auswerten
    Von FormChanger im Forum Sicherheit
    Antworten: 7
    Letzter Beitrag: 15.10.2008, 16:11

Stichworte

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •