A problémák megoldása, mint egy programot eltávolítani magát, vagy hogyan kell változtatni a nevét a futtatható fájl -

Az interneten keresi programozás fórumok belefutottam kapcsolatos kérdések c a kérdést: „Hogyan juthat a program törlése vagy átnevezése maga a végrehajtás során.” Ez a cikk ismerteti a legalapvetőbb módon.

Borland Delphi 7 kívánatos - a telepítéshez
Notepad (notepad.exe) - álló minden Windows
cmd.exe - álló minden Windows

Miért van szükség egy notebook és cmd.exe, kérdezed?
Fogjuk használni a batch fájl, még a probléma megoldására: Wikipedia
Képesek eltávolítani:

működni RemoveApp. logikai;

batfile. TextFile; // változó fájl

próbálja // try..except blokk kivételek kezelése (hiba)

RemoveApp: = true; // az eredmény meg a függvény visszatérési értéke: true

AssignFile (batfile, 'Del.bat'); // hozzárendeli változó fájl

Átírni (batfile); // Nyitott felülírni (ha van ilyen fájl felülírása, vagy hoz létre)

Chdir (ExtractFilePath (ParamStr (0))); // változtatni az aktuális könyvtárban (azaz a program) tartalmazó könyvtár a futtatható fájl

WriteLn (batfile, 'del' + ExtractFileName (ParamStr (0))); // írásutasítás fájl törlése del

WriteLn (batfile, 'del Del.bat'); // kiírja az önmegsemmisítő batch file

CloseFile (batfile); // bezárja a fájlt

WinExec ( 'Del.bat', SW_SHOW); // futtatni a batch fájl, amely a program által

ExitProcess (0); // A program befejezéséhez

RemoveApp: = false; // hiba esetén visszatér hamis

Funkció átnevezni:

működni RenameApp (newname. string). logikai;

batfile. TextFile; // változó fájl

próbálja // try..except blokk kivételek kezelése (hiba)

RenameApp: = true; // az eredmény meg a függvény visszatérési értéke: true

AssignFile (batfile, 'Rem.bat'); // hozzárendeli változó fájl

Átírni (batfile); // Nyitott felülírni (ha van ilyen fájl felülírja, vagy hoz létre)

Chdir (ExtractFilePath (ParamStr (0))); // változtatni az aktuális könyvtárban (azaz a program) tartalmazó könyvtár a futtatható fájl

WriteLn (batfile, 'ren' + ExtractFileName (ParamStr (0)) + '' + newname); // írni egy fájlt átnevezni parancsot ren

WriteLn (batfile, 'del Rem.bat'); // kiírja az önmegsemmisítő batch file

CloseFile (batfile); // bezárja a fájlt

WinExec ( 'Rem.bat', SW_SHOW); // futtatni a batch fájl, amely a program által

ExitProcess (0); // A program befejezéséhez

RenameApp: = false; // hiba esetén visszatér hamis

Mint látható, nincs semmi bonyolult itt. Ezek a funkciók nem igényelnek sem semmilyen további modulokat.