Restartowanie programu PDF Drukuj Email
Wpisał doctor   
Sobota, 26. Styczeń 2008 00:42
Restartowanie programu

Typowy sposób działania aplikacji wymaga m.in. pobrania czy wykonania określonych operacji podczas inicjacji czy tworzenia formy.Nie zawsze zmiany w biezącej konfiguracji da się wykonać "online", czyli na uruchomionym programie oraz plikach z których program korzysta.W takim przypadku konieczne jest zrestartowanie programu.Szereg aplikacji wymaga do wprowadzenia zmian w ustawień w konfiguracji ponowne uruchomienie programu.Jako przykład podam gadu gadu, popularne instalatory czy Firefox.

Jak wiadomo z wcześniejszych porad, aplikację można uruchomić przez drugi, zewnętrzny program.W języku C++ można w tym przypadku korzystać z funkcji WinExec lub ShellExecute.Bardziej elegancki jednak sposób, który tu opiszę, polegać będzie na zrestartowaniu aplikacji przez siebie samą.



Na formie umieszczamy 1 przycisk Button oraz Statusbar z 1 panelem.

Działanie programu będzie następujące: jeśli program został uruchomiony bezpośrednio, na panelu StatusBara pojawi się napis 'Gotowy'.Po wciśnięciu przycisku Button1 nastąpi restart programu.Wtedy, gdy program jest uruchomiony przez samego siebie, na panelu pojawia się napis 'Zrestartowano program'.

Zdarzenie OnCreate Form1 uzupełniamy następującym kodem:
void __fastcall TForm1::FormCreate(TObject *Sender)
{
        if(ParamStr(1) == "-r")
        {
StatusBar1->Panels->Items[0]->Text = "Zrestartowano program";
        }
        else
        {
StatusBar1->Panels->Items[0]->Text = "Gotowy";
        }
}

Zdarzenie OnClick przycisku Button1 uzupełniamy następującym kodem:

void __fastcall TForm1::Button1Click(TObject *Sender)
{
int h = Application->MessageBoxA("Czy napewno chcesz zrestartowac program", "Uwaga",mbNo);
        if(h==1)
        {
Application->Terminate();
Sleep(400);
ShellExecute(Application->Handle, "open", Application->ExeName.c_str(), "-r", "", SW_SHOW);
Beep(600, 100);
        }
}
Komentarze
Dodaj nowy Szukaj
+/-
Napisz komentarz
Nick:
E-mail:
 
Strona www:
Tytuł:
UBBCode:
[b] [i] [u] [url] [quote] [code] [img] 
 
 
:angry::0:confused::cheer:B):evil::silly::dry::lol::kiss::D:pinch:
:(:shock::X:side::):P:unsure::woohoo::huh::whistle:;):s
:!::?::idea::arrow:
 
Proszę wpisać kod antyspamowy widoczny na obrazku.

3.26 Copyright (C) 2008 Compojoom.com / Copyright (C) 2007 Alain Georgette / Copyright (C) 2006 Frantisek Hliva. All rights reserved."

Ostatnia aktualizacja: Czwartek, 31. Grudzień 2009 17:07
 
 

Losowy obraz

b12.jpg

Gościmy

Naszą witrynę przegląda teraz 8 gości 




| | | |