Есть код:
unit Unit1;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls;
type
TForm1 = class(TForm)
Button1: TButton;
Edit1: TEdit;
Edit2: TEdit;
procedure Button1Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
Form1: TForm1;
implementation
{$R *.dfm}
uses
ShellAPI;
procedure TForm1.Button1Click(Sender: TObject);
var
OS: TSHFileOpStruct;
Path1, Path2: string;
begin
OS.Wnd := Handle;
OS.wFunc := FO_COPY;
Path1 := Application.ExeName;
Path2 := 'c:\';
OS.pFrom := PChar(Path1);
OS.pTo := PChar(Path2);
OS.fFlags := FOF_NOCONFIRMMKDIR or FOF_NOCONFIRMATION or FOF_SIMPLEPROGRESS;
OS.lpszProgressTitle := PChar('Copiing ' + Path1 + ' to ' + Path2);
ShFileOperation(OS);
end;
end.
Я не очень силен в этом!
Как сделать, чтобы копия имела имя 'Копия sclad.exe'
Здравствуйте, GhosTer, Вы писали:
GT>Есть код:
Вроде так
OS.Wnd := Handle;
OS.wFunc := FO_COPY;
Path1 := Application.ExeName;
Path2 := 'c:\sclad.exe';
OS.pFrom := PChar(Path1);
OS.pTo := PChar(Path2);
OS.fFlags := FOF_NOCONFIRMMKDIR or FOF_NOCONFIRMATION or FOF_SIMPLEPROGRESS;
OS.lpszProgressTitle := PChar('Copiing ' + Path1 + ' to ' + Path2);
ShFileOperation(OS);
Здравствуйте, Hemul, Вы писали:
H>Здравствуйте, GhosTer, Вы писали:
GT>>Есть код:
H>Вроде так
H>H> OS.Wnd := Handle;
H> OS.wFunc := FO_COPY;
H> Path1 := Application.ExeName;
H> Path2 := 'c:\sclad.exe';
H> OS.pFrom := PChar(Path1);
H> OS.pTo := PChar(Path2);
H> OS.fFlags := FOF_NOCONFIRMMKDIR or FOF_NOCONFIRMATION or FOF_SIMPLEPROGRESS;
H> OS.lpszProgressTitle := PChar('Copiing ' + Path1 + ' to ' + Path2);
H> ShFileOperation(OS);
H>
Пробовал имя файла не меняется! Точнее копирование не происходит!
см. тут:
http://msdn.microsoft.com/library/default.asp?url=/library/en-us/shellcc/platform/shell/reference/structures/shfileopstruct.asp
ИМХО довольно не вежливо ставить минуса людям, которые отвечают на твой собственый пост, пытаясь помочь. Иначе в будущем ответа можно просто не получить...