2009-12-16 7 views
7

मैं इस प्रक्रिया का उपयोग करें:रीसायकल बिन भरने पर ShFileOperation क्या करता है?

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; 

अगर रीसायकल बिन भरा हुआ है तो क्या होगा, यह गलत वापसी या स्थायी रूप से फ़ाइल को नष्ट करता है?

किसी भी मदद की सराहना की जाएगी।

+0

सही ढंग से दिखाने के लिए अपने स्थान को चार रिक्त स्थान से इंडेंट करें। –

+0

मुझे पता नहीं था कि रीसायकल बिन "पूर्ण" हो सकता है। वह कैसे काम करता है? –

+0

वैसे - अच्छा काम। वास्तव में यह जानना अच्छा है कि रीसायकल बिन में कैसे स्थानांतरित किया जाए। मैं हमेशा "deletefile" फ़ंक्शन का उपयोग करता हूं। –

उत्तर

3

पता लगाने का सबसे अच्छा तरीका वास्तव में ऐसा करना है। मेरे रीसायकल बिन को कम से कम 1 प्रतिशत ड्राइव बनाया गया। बड़ी फ़ाइलों का एक गुच्छा बनाया और उन्हें रीसायकल बिन में स्थानांतरित करने के लिए अपने फ़ंक्शन का उपयोग किया।

मुझे जो पता चल रहा है (एक्सपी पर किसी भी तरह) यह है कि फ़ंक्शन हमेशा इसे रीसायकल बिन में ले जाता है; लेकिन स्थायी रूप से पुरानी हटाई गई फ़ाइल को हटा देता है। तो ऐसा प्रतीत होता है जब रीसायकल बिन भर जाता है, यह तय करने के लिए कि कौन सी फ़ाइल बूट होनी है, यह "पहले इन - पहले आउट" प्रकार दृष्टिकोण को नियोजित करता है।

मैं फ़ंक्शन को झूठी वापसी करने में सक्षम नहीं था। शायद आवंटित रीसायकल बिन के लिए एक फ़ाइल बहुत बड़ी बना रही है।

+0

इसे आजमाने के लिए धन्यवाद! यह मेरे ग्राहक के लिए बहुत बुरी खबर होगी .. – Irwan

+0

यदि आपके ग्राहक के लिए फ़ाइलों को अपने रीसायकल बिन में रखना बहुत महत्वपूर्ण है, तो वह रीसायकल बिन सीमा को क्यों नहीं हटाता है? – jpfollenius

+0

वह एक नियमित उपयोगकर्ता है, इसलिए मुझे लगता है कि उसे – Irwan

संबंधित मुद्दे