WinExec('project1.exe', SW_SHOW);
Dają tą funkcję w zdarzeniu Close Form1 ale program ponownie nie startuje. Dlaczego?
WinExec('project1.exe', SW_SHOW);
Dają tą funkcję w zdarzeniu Close Form1 ale program ponownie nie startuje. Dlaczego?
Pokaż kod.
Dziwne, bo u mnie dziala. Nie dziala tylko kiedy uruchamiasz z pod Delphi. A moze nazwa pliku exe nie jest poprawna?
U mnie działa i spod poziomu Delphi i po zwykłym uruchomieniu aplikacji. Pokaż ten kod.
Działa, działa. Jednak sprawa się komplikuje, bo mam kod, który uniemożliwia mi uruchomienie ponownie mojego programu.
initialization
hnd := CreateMutex(nil, True, 'project1');
if GetLastError = ERROR_ALREADY_EXISTS then Halt;
finalization
if hnd <> 0 then CloseHandle(hnd);
Jak zrobić że po wywołaniu Close powyższy kod nie był brany pod uwagę?
Hmm ten kod trzeba zrobić
//
//
:)
A tak poważnie to myślę że musisz zrobić jakiś dodatkowy warunek podczas startu wrzucać jakąś zmienną do pamięci (wskaźniki) lub tworzyć jakiś plik i sprawdzać czy istnieje. Wówczas w trakcie pracy programu kolejny raz się nie uruchomi a podczas zamykania będzie kasował tą zmienną lub ten plik, ewentualnie wymyśliłem że mógłby to być wpis do rejestru np program pracuje 1, a po zakończeniu kasowanie wpisu lub wstawianie wartości 0.