我想删除一个文件夹,这个文件夹里面含有文件和另外的文件夹,请问怎样才能把这个文件夹彻底的删除(包括里面的文件和文件夹),我用了shfileoperation FData.Wnd:= Handle;
FData.wFunc:= FO_DELETE;
FData.pFrom:= PChar(ExtractFilePath(paramstr(0))+'TempF\');
FData.fFlags:= FOF_ALLOWUNDO or FOF_NOCONFIRMMKDIR or FOF_MULTIDESTFILES or FOF_NOCONFIRMATION or FOF_FILESONLY;
ShFileOperation(FData)总是提示“无法读源文件或磁盘”如果把“FData.pFrom:= PChar(ExtractFilePath(paramstr(0))+'TempF\');”改为“FData.pFrom:= PChar(ExtractFilePath(paramstr(0))+'TempF\'+'*.*');”在调试程序的时候(也就是在delphi的源文件里执行时),老是报“无法删除,文件正在使用”,但是我只是想删除TempF文件夹,它并没有使用。如果我把可执行文件和TempF文件夹复制到另外的地方执行,可以执行,但只能删除文件,里面的文件积却不能删除,各位该怎么解决
FData.wFunc:= FO_DELETE;
FData.pFrom:= PChar(ExtractFilePath(paramstr(0))+'TempF\');
FData.fFlags:= FOF_ALLOWUNDO or FOF_NOCONFIRMMKDIR or FOF_MULTIDESTFILES or FOF_NOCONFIRMATION or FOF_FILESONLY;
ShFileOperation(FData)总是提示“无法读源文件或磁盘”如果把“FData.pFrom:= PChar(ExtractFilePath(paramstr(0))+'TempF\');”改为“FData.pFrom:= PChar(ExtractFilePath(paramstr(0))+'TempF\'+'*.*');”在调试程序的时候(也就是在delphi的源文件里执行时),老是报“无法删除,文件正在使用”,但是我只是想删除TempF文件夹,它并没有使用。如果我把可执行文件和TempF文件夹复制到另外的地方执行,可以执行,但只能删除文件,里面的文件积却不能删除,各位该怎么解决
var
fo: TSHFILEOPSTRUCT;
begin
FillChar(fo, SizeOf(fo), 0);
with fo do
begin
Wnd := 0;
wFunc := FO_DELETE;
pFrom := PChar(source+#0);
pTo := #0#0;
fFlags := FOF_NOCONFIRMATION+FOF_SILENT;
end;
Result := (SHFileOperation(fo) = 0);
end;
测试成功
function DelDirectory(const Source:string): boolean;varfo: TSHFILEOPSTRUCT;beginFillChar(fo, SizeOf(fo), 0);with fo dobeginWnd := 0;wFunc := FO_DELETE;pFrom := PChar(source+#0);pTo := #0#0;fFlags := FOF_NOCONFIRMATION+FOF_SILENT;end;Result := (SHFileOperation(fo) = 0);end;