Táto stránka pre svoju správnu funkčnosť vyžaduje súbory cookies. Slúžia na authentifikáciu návštevníka, analýzu návštevnosti a reklamnú personalizáciu.
logo Knowledge base KB
mobile

Výmaz aplikácie po jej skončení

V špecifických prípadoch je potrebné, aby skončení behu aplikácie došlo k jej výmazu (napríklad pri odinštalačných programoch).

Samotná aplikácia sama seba odstrániť nemôže, no môžeme o jej zmazanie požiadať inú aplikáciu. V tomto príklade použijeme priamo systémovú aplikáciu cmd (tzv. "Príkazový riadok"). Zavolaním metódy PlanSelfDelete tesne pred jej ukončením dosiahneme, že sa aplikácia vymaže o 5 sekúnd od jej zavolania.

Podmienkou je, aby mala aplikácia právo na výmaz "samej seba", keďže proces ktorý bude spustený našou aplikáciou jej oprávnenia zdedí (resp. ak aplikácia nebeží "ako správca", tak ani cmd nebude spustení "ako správca").

Zdrojový kód:
using System.Diagnostics;
using System.Windows.Forms;

...

private static void PlanSelfDelete()
{
    try
    {
        ProcessStartInfo pStart = new ProcessStartInfo("cmd", "/C timeout 5 & del \"" + Application.ExecutablePath + "\"");
        pStart.WindowStyle = ProcessWindowStyle.Hidden;
        pStart.CreateNoWindow = true;

        Process.Start(pStart);
    }
    catch { }
}

Keywords: C#, Self delete

Codeblog