c# विंडोज एक्सप्लोरर संदर्भ मेनू में एकीकृत




.net explorer (3)

आपको बस इतना करना है कि रजिस्ट्री में कुछ सामान जोड़ें। तो हाँ आप इसे .NET 2.0 के साथ कर सकते हैं। नोटपैड के साथ संपादित करने का तरीका यहां दिया गया है।

यदि मुझे सही याद है तो% 1 चयनित फ़ाइल है।

मैं एक छोटा सा उपकरण लिखना चाहता हूं, जो निम्न कार्य करता है:

जब आप एक निश्चित फ़ाइल-एक्सटेंशन वाले फ़ाइल पर राइट क्लिक करते हैं तो Windows Explorer संदर्भ मेनू एक अतिरिक्त प्रविष्टि दिखाता है।

जब आप इस प्रविष्टि पर क्लिक करते हैं तो इस फ़ाइल के साथ एक निश्चित EXE लॉन्च किया जाता है।

मैं इसके लिए सी # / .NET 2.0 का उपयोग करना चाहता हूं। यदि यह संभव नहीं है तो मैं इसे C ++ / Win32 के साथ भी कर सकता हूं।

मेरे प्रश्न हैं:

  1. क्या यह सी # .NET 2.0 के साथ संभव है?
  2. विंडोज एक्सप्लोरर संदर्भ मेनू में एकीकृत करने के लिए आवश्यक कार्य क्या हैं?
  3. मैं इसे स्थायी कैसे बना सकता हूं? (मैं प्रत्येक बूट के बाद इस उपकरण को फिर से लॉन्च नहीं करना चाहता)
  4. मुझे विशेष देखभाल करने के लिए क्या करना है? (विभिन्न ओएस, सुरक्षा अनुमतियां, आदि)

यह संयोगवश, एक ही प्रक्रिया में एकाधिक रनटाइम संस्करणों को होस्ट करने की वर्तमान अक्षमता के कारण, खोल एक्सटेंशन के लिए .NET का उपयोग करने के लिए समर्थित नहीं है (.NET 4 इस प्रतिबंध को उठाएगा)।

उस मामले पर विचार करें जहां आपके पास दो खोल एक्सटेंशन हैं; एक .NET 3.5 के लिए, एक .NET के लिए 1. कौन सा रनटाइम आपकी प्रक्रिया में लोड हो जाएगा? खैर, यह कम या ज्यादा यादृच्छिक है - यह निर्भर करता है कि कौन सा खोल एक्सटेंशन पहले लोड हो जाता है। कभी-कभी यह 2.0 रनटाइम हो सकता है, कभी-कभी यह 1.1 रनटाइम हो सकता है।

यह एक मुद्दा भी है यदि एक .NET प्रोग्राम सामान्य फ़ाइल संवाद बनाता है; आपका खोल एक्सटेंशन लोड हो सकता है या नहीं हो सकता है, और सही रनटाइम संस्करण के साथ चलाया जा सकता है या नहीं।

इस प्रकार, यदि आप शैल एक्सटेंशन मार्ग पर जाते हैं तो आपको देशी सी ++ / COM / Win32 का उपयोग करना चाहिए।


आपको रजिस्ट्री तक पहुंचने और root\\File\\shell या root\Folder\\shell नीचे एक कुंजी जोड़ने की आवश्यकता होगी, इस पर निर्भर करता है कि आप किस आइटम को मेनू आइटम पर दिखाना चाहते हैं।

CodeProject पर इस आलेख को आज़माएं, यह काफी उपयोगी है।

संपादित करें: यहां एक और लेख है जो सहायता का हो सकता है।