• Najnowsze pytania
  • Bez odpowiedzi
  • Zadaj pytanie
  • Kategorie
  • Tagi
  • Zdobyte punkty
  • Ekipa ninja
  • IRC
  • FAQ
  • Regulamin
  • Książki warte uwagi

Wykonywanie funkcji przy wyłączaniu komputera

Object Storage Arubacloud
0 głosów
560 wizyt
pytanie zadane 18 sierpnia 2019 w C i C++ przez masywny123 Nowicjusz (120 p.)

Witam
Mam problem z licznikiem napisanym w C++ builder 6. Napisałem zdarzenie OnClose które zapisuje do pliku ilość naliczonych sekund, która jest wczytywana przy następnym uruchomieniu ale nie odbywa się ono przy wyłączaniu lub ponownym uruchamianiu komputera. Próbowałem już umieścić tą operację w zdarzeniu OnDestroy z takim samym skutkiem. Przy wyłączaniu samego programu funkcja wykonuje się prawidłowo. Z góry dziękuję za pomoc.

void __fastcall TForm1::FormClose(TObject *Sender, TCloseAction &Action)
{
     container = IntToStr(s);
     std::ofstream plik;
     plik.open("seconds.txt", std::ios::out | std::ios::trunc);
     if(plik.good())
     {
         plik << container;
     }
     plik.close();
}


 

2 odpowiedzi

0 głosów
odpowiedź 19 sierpnia 2019 przez j23 Mędrzec (194,920 p.)

Zrób obsługę komunikatów WM_QUERYENDSESSION i WM_ENDSESSION.

–2 głosów
odpowiedź 19 sierpnia 2019 przez Wraith Gaduła (4,370 p.)

FormClose to ci dziala przy zamykaniu programu. ALe zanim zostanie zamkniety przy wysylaniu sygnalu do zamkniecia systemu musisz przechwycici taki sygnal. \

BOOL SetConsoleCtrlHandler(
    PHANDLER_ROUTINE HandlerRoutine,
    BOOL Add
);

BOOL WINAPI HandlerRoutine(
    DWORD dwCtrlType  
);

BOOL WINAPI ConsoleHandler(DWORD CEvent)
{
    char mesg[128];

    switch(CEvent)
    {
    case CTRL_SHUTDOWN_EVENT:
        
container = IntToStr(s);
     std::ofstream plik;
     plik.open("seconds.txt", std::ios::out | std::ios::trunc);
     if(plik.good())
     {
         plik << container;
     }
     plik.close();

        break;

    }
    return TRUE;
}

 

Podobne pytania

+1 głos
3 odpowiedzi 492 wizyt
pytanie zadane 26 marca 2016 w C i C++ przez aresers Początkujący (420 p.)
+1 głos
1 odpowiedź 363 wizyt

92,576 zapytań

141,426 odpowiedzi

319,652 komentarzy

61,961 pasjonatów

Motyw:

Akcja Pajacyk

Pajacyk od wielu lat dożywia dzieci. Pomóż klikając w zielony brzuszek na stronie. Dziękujemy! ♡

Oto polecana książka warta uwagi.
Pełną listę książek znajdziesz tutaj.

Akademia Sekuraka

Kolejna edycja największej imprezy hakerskiej w Polsce, czyli Mega Sekurak Hacking Party odbędzie się już 20 maja 2024r. Z tej okazji mamy dla Was kod: pasjamshp - jeżeli wpiszecie go w koszyku, to wówczas otrzymacie 40% zniżki na bilet w wersji standard!

Więcej informacji na temat imprezy znajdziecie tutaj. Dziękujemy ekipie Sekuraka za taką fajną zniżkę dla wszystkich Pasjonatów!

Akademia Sekuraka

Niedawno wystartował dodruk tej świetnej, rozchwytywanej książki (około 940 stron). Mamy dla Was kod: pasja (wpiszcie go w koszyku), dzięki któremu otrzymujemy 10% zniżki - dziękujemy zaprzyjaźnionej ekipie Sekuraka za taki bonus dla Pasjonatów! Książka to pierwszy tom z serii o ITsec, który łagodnie wprowadzi w świat bezpieczeństwa IT każdą osobę - warto, polecamy!

...