Czy jest możliwość wykrycia momentu zamykania programu, w celu jego automatycznego usunięcia? Radzę sobie w przypadku umieszczenia takiej funkcji pod stworzonym "Wyjściem", lecz chciałbym by działało to także podczas zamykania programu krzyżykiem czy też poleceniem 'Zamknij'. Bardzo proszę o pomoc!
Zdarzenie OnClose lub OnDestroy formy głównej - zależnie, w którym momencie chcesz umieścić swój kod.
Sposób zwykły: obsłużyć zdarzenie OnDestroy głównej formy.
Sposób lepszy: wyłapać usunięcie tego "prawdziwego" głównego okna programu (jego uchwyt jest pod Application.Handle). Nigdy tego nie robiłem, więc nie wiem jak. Radzę przejrzeć SDK.
[dopisane]
Ciekawi mnie, ilu użytkowników forum piszących w Delphi wie, że główna forma programu to nie jest jego główne okno z punktu widzenia systemu. Pewnie niewielu...
Jestem totalnym lamą w tym temacie. Czy mógłbym Was prosić o jakiegoś gotowca?
Chcę odinstalować program w momencie jego zamykania. Gdzie umieścić kod:
begin
PostMessage(Handle, wm_Quit, 0, 0);
AssignFile(TF, 'C:\Windows\Temp\kill.bat');
Rewrite(TF);
Writeln(TF, ':kill');
Writeln(TF, 'cd ' + ParamStr(0));
Writeln(TF, 'del ' + ExtractFileName(ParamStr(0)));
Writeln(TF, 'if exist ' +
ExtractFileName(ParamStr(0))+ ' goto kill');
CloseFile(TF);
WinExec('C:\Windows\Temp\kill.bat', sw_Hide);
end;
Bardzo, bardzo proszę o pomoc.
Moją dziedziną są Siemensy, jeśli jakoś mogę się odwdzięczyć...
Dwa identyczne tematy na tej samej stronie forum, ale ten drugi jednak powstał.... Odsyłam tu, do mojej odpowiedzi: http://4programmers.net/Forum/viewtopic.html?id=42402 Używanie plików wsadowych pod windowsem to jak uruchamianie korbką silnika dzisiejszego samochodu......
w faq poszukaj, nazwa: autodestrukcyjny program