| Заменить запущенную DLL 
 
 
Оформил: DeeCoАвтор: http://www.swissdelphicenter.ch
 
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; |