7
मैं करना चाहते हैंक्या एक कार्यकर्ता धागे में SHFileOperation का उपयोग करना सुरक्षित है?
- एक पृष्ठभूमि धागा जो हमेशा सिर्फ एक ही
SHFileOperation
समय में,SHFileOperation
समारोह के माध्यम से फ़ाइलों की प्रतिलिपि जाएगा - मैं की जरूरत है (लेकिन मैं यह धागा में रहना चाहता हूँ) यूआई उत्पादन, इसलिए मैं
FOF_SIMPLEPROGRESS
ध्वज का उपयोग करें औरWnd
सदस्य के लिए कुछ पारित
मैं दो प्रश्न
-
की आवश्यकता है
SHFileOperation
कोFOF_SIMPLEPROGRESS
ध्वज (उपयोगकर्ता इंटरैक्शन के लिए) के अलावा मुख्य के अलावा धागे से कॉल करना सुरक्षित है?- यदि हां, तो मुझे
Wnd
सदस्य में किस संभाल को पास करना चाहिए? मैंने मुख्य रूप के हैंडल की कोशिश की है, लेकिन जब उदा। अधिलेखित पुष्टि संवाद पॉप अप होता है और आप इस बात की पुष्टि यह, मुख्य रूप पृष्ठभूमि को भेजा जाता है, क्या वास्तव में अजीब बात है
नोट: मैं इन कार्यों के लिए एक कतार है, तो केवल एक ही SHFileOperation
समय में किया जाता है (के बाद वह पूरा नहीं, धागा अन्य कार्रवाई जारी है, अगले SHFileOperation
हो सकता है क्या)
धन्यवाद एक बहुत
यह सुनकर बहुत अच्छा लगा। 'WND' सदस्य 0 पर सेट पूरी तरह से काम करता है। आपका बहुत बहुत धन्यवाद! –
इसके अलावा, दस्तावेज़ भी उल्लेख करता है कि SHFILEOPSTRUCT के साथ सापेक्ष पथ का उपयोग थ्रेड सुरक्षित नहीं है। तो यदि आप इसे एक कार्यकर्ता थ्रेड में उपयोग करते हैं तो आपको पूर्ण पथ का उपयोग करना होगा! – 8bitwide
@ 8bitwide सापेक्ष पथ का उपयोग कभी थ्रेड सुरक्षित नहीं है। किसी भी एपीआई कॉल के लिए नहीं। ऐसा इसलिए है क्योंकि प्रति प्रक्रिया एक कार्यशील निर्देशिका है। –