재활용 쓰레기통이 가득 차면 shfileoperation은 무엇을합니까?
-
19-09-2019 - |
문제
이 절차를 사용합니다.
function MoveToRecycle(sFileName: widestring): Boolean;
var
fos: TSHFileOpStructW;
begin
FillChar(fos, SizeOf(fos), 0);
with fos do
begin
wnd := 0;
wFunc := FO_DELETE;
pFrom := PWideChar(sFileName + #0 + #0);
pTo := #0 + #0;
fFlags := FOF_FILESONLY or FOF_ALLOWUNDO or FOF_NOCONFIRMATION or FOF_SILENT;
end;
Result := (ShFileOperationW(fos) = 0);
end;
재활용 쓰레기통이 가득 차면 어떻게됩니까? False 또는 파일을 영구적으로 삭제합니까?
모든 도움이 감사하겠습니다.
해결책
가장 좋은 방법은 실제로 수행하는 것입니다. 내 재활용 쓰레기통을 드라이브의 최소 1 %로 만들었습니다. 많은 큰 파일을 만들고 기능을 사용하여 빈으로 재활용했습니다.
내가 알아내는 것은 (어쨌든 XP에서) 함수가 항상 그것을 재활용 쓰레기통으로 이동한다는 것입니다. 그러나 가장 오래된 삭제 된 파일을 영구적으로 삭제합니다. 따라서 재활용 빈이 채우면 "첫 번째 - 첫 번째"유형 접근 방식을 사용하여 부팅 할 파일을 결정합니다.
기능이 거짓을 반환 할 수 없었습니다. 아마도 할당 된 재활용 쓰레기통에 너무 큰 파일을 만들 수 있습니다.
제휴하지 않습니다 StackOverflow