के साथ सी # से विंडोज एक्सप्लोरर से खींचें और छोड़ें मैं अब बहुत लंबे समय तक सरल कार्यक्षमता की तरह लगता हूं पर काम कर रहा हूं। विचार यह है कि मेरे पास TreeView के साथ एक एप्लिकेशन है। यह वृक्षदृश्य विंडोज एक्सप्लोरर की तरह फाइलों और फ़ोल्डरों में व्यवस्थित डेटाबेस की सामग्री का प्रतिनिधित्व करता है। तो यह समझ में आता है कि उपयोगकर्ता मेरे ऐप से और विंडोज एक्सप्लोरर में उन फ़ाइलों/फ़ोल्डरों को खींचने में सक्षम होना चाहिए।आईएसओरेज/आईएसट्रीम
मैंने फैसला किया कि यदि कोई फ़ोल्डर खींचता है तो मुझे IStream
का उपयोग करना चाहिए यदि वे फ़ाइल खींचते हैं या IStorage
। Win32/COM (और यहां एक बहुत ही सहायक व्यक्ति से नजदीक) के बारे में कभी भी जानना बहुत लंबा समय और सीखने का तरीका है, अंत में मुझे IStream
या IStorage
बनाया गया है।
तब मैंने पाया कि यह IStream
या IStorage
को विंडोज एक्सप्लोरर से पास करने के लिए, मुझे इसे STGMEDIUM
में प्राप्त करना था। बेशक, मध्यम .tymed या तो IStream
या IStorage
होगा, जिस पर मैं उपयोग कर रहा हूं, लेकिन जैसा कि मैं समझता हूं कि medium.unionmember
IStream/IStorage
पर एक सूचक होना चाहिए।
मैंने निश्चित कीवर्ड का उपयोग करने का प्रयास किया है (लेकिन यह निश्चित रूप से ब्लिटेबल नहीं है), मैंने केवल विस्फोटित चीज़ को बाइट सरणी में परिवर्तित करने की कोशिश की है, लेकिन ऐसा करने के लिए एक तरीके से नहीं आ सकता है, मैंने इसे पिन करने के लिए जीसीएचंडल का उपयोग करने की कोशिश की है (लेकिन यह अभी भी ब्लिटेबल नहीं है), और कई अन्य चीजें जो काम नहीं करतीं।
तो मेरा सवाल यह है: IStorage s
और STGMEDIUM m
दिया गया, मैं m.unionmember
कैसे पॉप्युलेट करूं ताकि विंडोज एक्सप्लोरर खुश हो और ड्रॉप स्वीकार कर सके?
यदि कोई http http के लिए आईएसट्रीम/आईएसटीओरेज के पूर्ण कार्यान्वयन के बारे में जानता है, तो कृपया एक और उत्तर पोस्ट करें, इस समस्या के लिए कुछ Google परिणाम हैं। –
http://stackoverflow.com/questions/3168145/download-a-file-using-windows-istream –