Удалить свою программу после ее завершения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 прямо в свой смартфон. Подпишитесь на наш Telegram-канал delphi_kansoftware и будьте в курсе последних тенденций в разработке под Linux, Windows, Android и iOS Материалы статей собраны из открытых источников, владелец сайта не претендует на авторство. Там где авторство установить не удалось, материал подаётся без имени автора. В случае если Вы считаете, что Ваши права нарушены, пожалуйста, свяжитесь с владельцем сайта. :: Главная :: Приложение своё ::
|
||||
©KANSoftWare (разработка программного обеспечения, создание программ, создание интерактивных сайтов), 2007 |