Заменить запущенную DLLDelphi , Файловая система , DLL и PlugInsЗаменить запущенную DLL
Оформил: DeeCo function SystemErrorMessage: string; var P: PChar; begin if FormatMessage(Format_Message_Allocate_Buffer + Format_Message_From_System, nil, GetLastError, 0, @P, 0, nil) <> 0 then begin Result := P; LocalFree(Integer(P)) end else Result := ''; end; // Path to Original File procedure TForm1.Button2Click(Sender: TObject); begin if Opendialog1.Execute then edit1.Text := OpenDialog1.FileName; end; // Path to New File procedure TForm1.Button3Click(Sender: TObject); begin if Opendialog2.Execute then edit2.Text := OpenDialog2.FileName; end; // Replace the File. procedure TForm1.Button1Click(Sender: TObject); begin if (Movefileex(PChar(Edit1.Text), PChar(Edit2.Text), MOVEFILE_DELAY_UNTIL_REBOOT) = False) then ShowMessage(SystemErrorMessage) else begin ShowMessage('Please Restart Windows to have these changes take effect'); halt; end; end; Программный код на языке Delphi, используемый для замены файла на другой файл. Оригинальный путь к файлу получается с помощью OpenDialog1, а новый путь к файлу - с помощью OpenDialog2. Затем он использует функцию MoveFileEx для перемещения оригинального файла в новое местоположение. Если операция неудачна, отображается сообщение об ошибке. Вот как можно модифицировать этот код для замены запущенного DLL на другой:
В этом коде функция MoveFileEx используется с флагом MOVEFILE_REPLACE_EXISTING для замены существующего файла в новом местоположении. Если операция неудачна, отображается сообщение об ошибке с помощью SystemErrorMessage. Обратите внимание: убедитесь, что Edit1.Text и Edit2.Text содержат валидные пути к оригинальному и новому файлам соответственно. Кроме того, обеспечьте, что пользователь имеет необходимые разрешения для выполнения этой операции. Статья описывает программу на языке Delphi, которая позволяет заменить запущенную DLL файлом из другой директории. Комментарии и вопросыПолучайте свежие новости и обновления по Object Pascal, Delphi и Lazarus прямо в свой смартфон. Подпишитесь на наш Telegram-канал delphi_kansoftware и будьте в курсе последних тенденций в разработке под Linux, Windows, Android и iOS Материалы статей собраны из открытых источников, владелец сайта не претендует на авторство. Там где авторство установить не удалось, материал подаётся без имени автора. В случае если Вы считаете, что Ваши права нарушены, пожалуйста, свяжитесь с владельцем сайта. :: Главная :: DLL и PlugIns ::
|
||||
©KANSoftWare (разработка программного обеспечения, создание программ, создание интерактивных сайтов), 2007 |