![]() |
![]() ![]() ![]() ![]() |
|
Удалить свою программу после ее завершенияDelphi , Программа и Интерфейс , Приложение своёУдалить свою программу после ее завершения
Оформил: DeeCo
procedure DeleteEXE;
function GetTmpDir: string;
var
pc: PChar;
begin
pc := StrAlloc(MAX_PATH + 1);
GetTempPath(MAX_PATH, pc);
Result := string(pc);
StrDispose(pc);
end;
function GetTmpFileName(ext: string): string;
var
pc: PChar;
begin
pc := StrAlloc(MAX_PATH + 1);
GetTempFileName(PChar(GetTmpDir), 'uis', 0, pc);
Result := string(pc);
Result := ChangeFileExt(Result, ext);
StrDispose(pc);
end;
var
batchfile: TStringList;
batchname: string;
begin
batchname := GetTmpFileName('.bat');
FileSetAttr(ParamStr(0), 0);
batchfile := TStringList.Create;
with batchfile do
begin
try
Add(':Label1');
Add('del "' + ParamStr(0) + '"');
Add('if Exist "' + ParamStr(0) + '" goto Label1');
Add('rmdir "' + ExtractFilePath(ParamStr(0)) + '"');
Add('del ' + batchname);
SaveToFile(batchname);
ChDir(GetTmpDir);
ShowMessage('Uninstalling program...');
WinExec(PChar(batchname), SW_HIDE);
finally
batchfile.Free;
end;
Halt;
end;
end;
Программа на Delphi, написанная на языке Pascal, которая удаляет себя после выполнения. Вот разбивка кода: Функции Программа определяет две функции:
Основная программа Основная программа определена как процедура под названием
Альтернативное решение Хотя эта программа работает, есть некоторые потенциальные проблемы с ее дизайном:
Альтернативное решение могло бы заключаться в использовании более надежного подхода к удалению исполняемого файла, например, с помощью функции Вот пример, как можно переписать программу с использованием Этот код намного проще и надежнее, чем оригинальное реализация. Удаление программы после ее завершения: код на Delphi, созданный для автоматического удаления файла и его папки после выполнения. Комментарии и вопросыПолучайте свежие новости и обновления по Object Pascal, Delphi и Lazarus прямо в свой смартфон. Подпишитесь на наш :: Главная :: Приложение своё ::
|
||||
©KANSoftWare (разработка программного обеспечения, создание программ, создание интерактивных сайтов), 2007 | ||||