Показать сообщение отдельно
  #3  
Старый 12.12.2013, 17:51
Slackerok Slackerok вне форума
Прохожий
 
Регистрация: 27.11.2012
Сообщения: 20
Репутация: 10
По умолчанию

Вы конечно извините, но думаю я бы не обратился за помощью перед этим не погуглив, нашел рабочий код в инете, но там надо указывать реальный путь от и до. Для моих знаний моя цель сложновата...

Код:
procedure TForm1.Button1Click(Sender: TObject);
var
  Fo : TSHFileOpStruct;
  buffer : array [0..4096] of char;
  p : pchar;
begin
  FillChar(Buffer, sizeof(Buffer), #0);
  p := @buffer;
  p := StrECopy(p, 'C:\windows\system32\taskmgr.exe') + 1;
  FillChar(Fo, sizeof(Fo), #0);
  Fo.Wnd := Handle;
  Fo.wFunc := FO_COPY;
  Fo.pFrom := @Buffer;
  Fo.pTo := 'C:\';
  Fo.fFlags := 0;
  if ((SHFileOperation(Fo) <> 0) or (Fo.fAnyOperationsAborted <> false)) then
    ShowMessage('Cancelled')
end;

Осталось задача определить папку Windows перед копированием и определить папку Рабочий Стол.
Код:
GetWindowsDirectory(WinDir, 255);

Код:
begin
  FillChar(Buffer, sizeof(Buffer), #0);
  p := @buffer;
  GetWindowsDirectory(WinDir, 255);
  p := StrECopy(p, 'system32\taskmgr.exe') + 1;
  FillChar(Fo, sizeof(Fo), #0);
  Fo.Wnd := Handle;
  Fo.wFunc := FO_COPY;
  Fo.pFrom := @Buffer;
  Fo.pTo := 'C:\';
  Fo.fFlags := 0;
Так будет правильно?
Ответить с цитированием