![]() |
![]() ![]() ![]() ![]() |
|
Заменить запущенную 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 прямо в свой смартфон. Подпишитесь на наш :: Главная :: DLL и PlugIns ::
|
||||
©KANSoftWare (разработка программного обеспечения, создание программ, создание интерактивных сайтов), 2007 | ||||