小弟最近用cnpack的组件包中的cnfilesystemwatch组件做一个文件夹监控的软件,现在遇到一个问题就是我利用delete键或者右键“删除”菜单删除目录后 cnfilesystemwatch可以捕获到消息 然后利用此段代码:
function CopyDir(SrcDir, DesDir: String): Boolean;
var
ss: TSHFileOpStruct;
begin
Result := False;
if not DirectoryExists(SrcDir) then Exit;
FillChar(ss, SizeOf(ss), 0);
ss.Wnd :=application.Handle;
SS.pFrom :=PChar(SrcDir + #0);
ss.pTo := PChar(DesDir + #0);
ss.wFunc := FO_COPY;
ss.fFlags := FOF_SILENT or FOF_NOCONFIRMATION;
Result := SHFileOperation(ss) = 0;
end;
可以实现目录的恢复 但是通过直接删除的方式(shift+del)删除目录后目录恢复时会随机性的丢失目录下的文件.这个问题已经困扰了我很长时间一直没找到原因 希望大家帮忙分析下原因