SHFileOpStruct不会升级Supercopier

时间:2015-11-18 18:51:52

标签: file delphi copy

我正在创建一个delphi app,使用cxShellListView。当我从另一个cxShellLisView拖动文件/文件夹时,应用程序会启动Supercopier实例(我安装并激活它),这就是我需要的。

在其他方面,我使用SHFileOpStruct如下:

function CopyFolder (aHandle : THandle; aSourceFolder, aDestinationFolder : string; aAction : Word; aMode : Integer) : Boolean;
const Aborted : Boolean = False;
var shfo : TSHFileOpStruct;
begin
  FillChar(shfo,SizeOf(shfo),$0);
  with shfo do
    begin
      if aAction > 2 then
        begin
          aAction := 2;
        end;
      if aMode > 5 then
        begin
          aMode := 1;
        end;
      case aAction of
        1: wFunc := FO_MOVE;
        2: wFunc := FO_COPY;
      end;
      pFrom := Pchar(aSourceFolder+#0+#0);
      pTo := Pchar(aDestinationFolder+#0+#0);
      case aMode of
        1: fFlags := FOF_SILENT;
        2: fFlags := FOF_ALLOWUNDO or FOF_FILESONLY;
        3: fFlags := FOF_RENAMEONCOLLISION;
        4: fFlags := FOF_NOCONFIRMATION;
        5: fFlags := FOF_SIMPLEPROGRESS;
      end;

      Result := (SHFileOperation(shfo)= 0) and (not Aborted);
    end;
end;

因此,当我使用此功能进行复制时,supercopier不会处理副本,而是启动标准的Windows对话框。 有关如何提出使用任何替代复制方法(如Supercopier 4或Windows中安装的其他复制方法)的副本的任何建议。

0 个答案:

没有答案