2012-10-06 32 views
5

मैं एक प्रोग्राम मेनू खोल एक्सटेंशन बनाना चाहता हूं, जो कि मैं पाइथन में लिखने वाले प्रोग्राम के साथ जाता हूं।पायथन (जैसे ड्रॉपबॉक्स) में शेल एक्सटेंशन संदर्भ मेनू कैसे बनाएं

मैं pywin32 से \Lib\site-packages\win32comext\shell\demos\servers\context_menu.py में एक डेमो के साथ काम करने की कोशिश की (here फ़ाइल है) लेकिन यह मेरी Win7 x64 पर काम नहीं किया: यह ठीक पंजीकृत और रजिस्ट्री कुंजियाँ जोड़ा है, लेकिन संदर्भ मेनू दिखाई नहीं दिया ऊपर (रीबूट के बाद भी)। तो मैंने कुछ और खोज की, और याद किया कि ड्रॉपबॉक्स ने कहा कि विकास के लिए केवल पायथन का उपयोग करें, मैंने उनके संदर्भ मेनू रजिस्ट्री कुंजियों को देखा। मैंने पाया कि उन्होंने DropboxExt64.15.dll अपने InProcServer32 में उपयोग किया था (हालांकि मैंने this और कुछ अन्य संसाधन पढ़े हैं, मुझे अभी भी शैल एक्सटेंशन के बारे में बहुत कुछ पता नहीं है)। तो ऐसा लगता है कि उन्होंने एक सीएल/सी ++ कोड को एक डीएल में संकलित किया है और इसे पायथन कोड का आह्वान करने के लिए उपयोग किया है।

मेरा सवाल यह है कि उन्होंने यह कैसे किया? इस विधि का उपयोग करने के तरीके पर मुझे संसाधन (उदाहरण, मार्गदर्शिका, आदि) कहां मिल सकता है? context_menu.py में विधि का उपयोग करने की खामियां क्या हैं?

+0

संबंधित: [विंडोज एक्सप्लोरर संदर्भ उप मेनू का उपयोग कर के साथ मेनू pywin32] (https://stackoverflow.com/q/10833710/321973) –

उत्तर

4

आपके एक्सटेंशन को विंडोज 7 x64 पर एक्सप्लोरर में दिखाने के लिए 64 बिट होने की आवश्यकता है। तो आपको 64 बिट पायथन और 64 बिट पायविन 32 का उपयोग करने की आवश्यकता है।

ड्रॉप एक्सटेंशन जैसे शेल एक्सटेंशन के साथ अधिकांश एप्लिकेशन, दो अलग शैल एक्सटेंशन इंस्टॉल करें, 32 बिट प्रक्रियाओं के लिए एक और 64 बिट प्रक्रियाओं के लिए एक।

Using 32-bit shell extensions in Windows 7 64-bit

+0

मैं इस किया था और यह अभी भी काम नहीं करता है –