ماذا يفعل shfileoperation عندما يكون سلة المحذوف ممتلئة؟

StackOverflow https://stackoverflow.com/questions/1911907

  •  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;

ماذا سيحدث إذا كانت سلة المحذوفات ممتلئة، فهل تعرض ملف كاذب أو حذف بشكل دائم؟

سيكون موضع تقدير أي مساعدة.

هل كانت مفيدة؟

المحلول

أفضل طريقة لمعرفة ذلك هي فعلا تفعل ذلك. جعل سلة المحذوفات بلدي يكون الحد الأدنى 1 في المئة من حملة. خلق حفنة من الملفات الكبيرة واستخدمت وظيفتك لتحريكها لإعادة تدوير الصندوق.

ما أعرفه (على XP على أي حال) هو أن الوظيفة تتحركها دائما إلى سلة المحذوفات؛ ولكن حذف بشكل دائم أقدم ملف محذوف. لذلك يظهر عند تعبئة سلة المحذوفات التي يملأها توظف نهج النوع الأول "أولا" من النوع التالي لتحديد الملف الذي يتم تشغيله.

لم أتمكن من الحصول على وظيفة للعودة خطأ. ربما إنشاء ملف كبير جدا بالنسبة إلى سلة المحذوفات المخصصة القيام بذلك.

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top