문제

이 절차를 사용합니다.

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에서) 함수가 항상 그것을 재활용 쓰레기통으로 이동한다는 것입니다. 그러나 가장 오래된 삭제 된 파일을 영구적으로 삭제합니다. 따라서 재활용 빈이 채우면 "첫 번째 - 첫 번째"유형 접근 방식을 사용하여 부팅 할 파일을 결정합니다.

기능이 거짓을 반환 할 수 없었습니다. 아마도 할당 된 재활용 쓰레기통에 너무 큰 파일을 만들 수 있습니다.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top