Ĺadny brzuch
Jest możliwe aby program sam się zrestartował?
Jeżeli tak, to jak?
Restart? :D
#include <iostream> int main(int argc, char **argv) { restart: // etykieta // tutaj zawartosc programu goto restart; // i juz sie program restartuje :F }
Chodziło mi o to, aby po zamknięciu programu system uruchomił go ponownie, a nie o powrót do początku wywołania programu.
On nie miał wykonać się jeszcze raz tylko zakończyć swój "żywot" i "zmartwychwstać".
(niezbyt odkrywcze, ale łapiecie idee :) )
Można by wykorzystac inny program albo skrypt :P Ale nie o takie rozwiązanie Ci chodzi ? :D
Można by wykorzystac inny program albo skrypt :P Ale nie o takie rozwiązanie Ci chodzi ? :D
Wywolac shellexecute jako wynik main :D
return ShellExecute(...). Mniej wiecej w tym stylu dziala Qt, tyle ze tam wywoluje sie metode exec klasy QApplication :P
Tworzysz plik .bat z dwoma linijkami:
sleep ILE_SEKUND
start "ścieżka i nazwa do programu"
Po czym jako ostatnią instrukcję przed zakończeniem wykonujesz ShellExecute na tym skrypcie :)
Pozdrawiam, TeMPOraL.
CHAK DE PLANET.
Tak tylko jemu chodzi by program sam fizycznie sie wyłączył, a w systemie niedziałały żadne jego kopie :P Przykład ze skryptem(.bat jak napisałeś) jest dobry ale mu chodzi o inne rozwiazanie ;)
Przechwytujesz komunikaty okna, i gdy będzie to WM_CLOSE , WM_QUIT (już niepamiętam) to po prostu go nie wykonujesz i jak chcesz to wracasz na początek programu.
Przechwytujesz komunikaty okna, i gdy będzie to WM_CLOSE , WM_QUIT (już niepamiętam) to po prostu go nie wykonujesz i jak chcesz to wracasz na początek programu.
Czy jeśli zignoruję te komunikaty i pozwolę działać programowi dalej, to będę musiał ponownie tworzyć okna,menu,przyciski,itp.?
spróbuj dodać wpisy do rejestru
spróbuj dodać wpisy do rejestru
Może hakej_lokal_maszin/softłer/majkrosoft/łindołs/kurentwerszion/ran :)
a tak na poważnie
#include <iostream> #include <windows.h> using namespace std; int main(int argc, char *argv[]) { cout << "Zakonczyc program normalnie, czy zresetować?\n"; cout << "0-zakoncz\n1-zresetuj\n"; char x; cin >> x; if(x == '0') return 0; else return ((ShellExecute(NULL, NULL, "Projekt3.exe", NULL, NULL, SW_SHOWNORMAL) || 0)); }
zanotowane.pl doc.pisz.pl pdf.pisz.pl zsf.htw.pl
Jeżeli tak, to jak?
Restart? :D
#include <iostream> int main(int argc, char **argv) { restart: // etykieta // tutaj zawartosc programu goto restart; // i juz sie program restartuje :F }
Chodziło mi o to, aby po zamknięciu programu system uruchomił go ponownie, a nie o powrót do początku wywołania programu.
On nie miał wykonać się jeszcze raz tylko zakończyć swój "żywot" i "zmartwychwstać".
(niezbyt odkrywcze, ale łapiecie idee :) )
Można by wykorzystac inny program albo skrypt :P Ale nie o takie rozwiązanie Ci chodzi ? :D
Można by wykorzystac inny program albo skrypt :P Ale nie o takie rozwiązanie Ci chodzi ? :D

Wywolac shellexecute jako wynik main :D
return ShellExecute(...). Mniej wiecej w tym stylu dziala Qt, tyle ze tam wywoluje sie metode exec klasy QApplication :P
Tworzysz plik .bat z dwoma linijkami:
sleep ILE_SEKUND
start "ścieżka i nazwa do programu"
Po czym jako ostatnią instrukcję przed zakończeniem wykonujesz ShellExecute na tym skrypcie :)
Pozdrawiam, TeMPOraL.
CHAK DE PLANET.
Tak tylko jemu chodzi by program sam fizycznie sie wyłączył, a w systemie niedziałały żadne jego kopie :P Przykład ze skryptem(.bat jak napisałeś) jest dobry ale mu chodzi o inne rozwiazanie ;)
Przechwytujesz komunikaty okna, i gdy będzie to WM_CLOSE , WM_QUIT (już niepamiętam) to po prostu go nie wykonujesz i jak chcesz to wracasz na początek programu.
Przechwytujesz komunikaty okna, i gdy będzie to WM_CLOSE , WM_QUIT (już niepamiętam) to po prostu go nie wykonujesz i jak chcesz to wracasz na początek programu.

Czy jeśli zignoruję te komunikaty i pozwolę działać programowi dalej, to będę musiał ponownie tworzyć okna,menu,przyciski,itp.?

spróbuj dodać wpisy do rejestru
spróbuj dodać wpisy do rejestru

Może hakej_lokal_maszin/softłer/majkrosoft/łindołs/kurentwerszion/ran :)
a tak na poważnie
#include <iostream> #include <windows.h> using namespace std; int main(int argc, char *argv[]) { cout << "Zakonczyc program normalnie, czy zresetować?\n"; cout << "0-zakoncz\n1-zresetuj\n"; char x; cin >> x; if(x == '0') return 0; else return ((ShellExecute(NULL, NULL, "Projekt3.exe", NULL, NULL, SW_SHOWNORMAL) || 0)); }