Mega Code Archive

 
Categories / Delphi / Files
 

Replace a running dll

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;