फ़ोल्डर्स के लिए विंडोज एक्सप्लोरर में संदर्भ मेनू आइटम कैसे जोड़ें [बंद]


100

मुझे पता चला है कि रजिस्ट्री में कुंजियों को जोड़कर विंडोज एक्सप्लोरर पर फाइलों में राइट-क्लिक संदर्भ मेनू आइटम कैसे जोड़ें। यानी मैं एक्सप्लोरर में एक फाइल पर राइट-क्लिक कर सकता हूं और उस फाइल के खिलाफ एक कस्टम ऐप चला सकता हूं।

मैं एक फ़ोल्डर के लिए ऐसा ही करना चाहता हूं और ऐसा करने का कोई तरीका नहीं मिला है (अभी तक)। मैं कस्टम संदर्भ मेनू संचालकों को बनाने / लिखने पर लेख देखता हूं, लेकिन मैं वहां नहीं जाऊंगा।

मुझे यहां एक लेख मिला है कि कैस्केडिंग संदर्भ मेनू आइटम को डेस्कटॉप पर और एक्सप्लोरर में "कंप्यूटर" में कैसे जोड़ा जाए, लेकिन यह किसी भी फ़ोल्डर के लिए काम नहीं करता है।

मैं अपने कस्टम ऐप को संदर्भ मेनू में जोड़ने में सक्षम होना चाहता हूं और यह फाइलों और फ़ोल्डरों दोनों पर काम करता है। क्या संदर्भ मेनू हैंडलर लिखे बिना ऐसा करने का कोई तरीका है?


मैंने नीचे दिए गए लेख में समाधान पाया, जो बताता है कि यह कैसे करना है फ़ाइलों के लिए रजिस्ट्री के माध्यम से, साथ ही साथ फ़ोल्डर्स के लिए:

निम्नलिखित दो लेख अतिरिक्त जानकारी और विकल्प प्रदान करते हैं:


1
यह सवाल 6 साल से खुला है ?! इसे छह दिन पहले किसने बंद किया था?
एंड्रयू

केवल एक चीज जो मुझे StackOverflow के बारे में पसंद नहीं है, वह है क्लोज़िंग क्लोज़िंग क्वेश्चन या ऑफ़-टॉपिक के रूप में क्वेश्चन मार्क करना।
माइकल

जवाबों:


209

पंजीकरण संपादक में ( regedit.exe) खोजें:

  • विंडोज एक्सप्लोरर के बाएं पैनल में या राइट पैनल में एक डायरेक्टरी की पृष्ठभूमि पर फ़ोल्डर्स पर राइट क्लिक के लिए संदर्भ मेनू :

    1. HKEY_CLASSES_ROOT\Directory\Background\shell यदि आप प्रशासक हैं
    2. HKEY_CURRENT_USER\Software\Classes\directory\Background\shell यदि आप एक सामान्य उपयोगकर्ता हैं
  • विंडोज एक्सप्लोरर के दाहिने पैनल में फ़ोल्डरों पर राइट क्लिक के लिए संदर्भ मेनू :

    1. HKEY_CLASSES_ROOT\Directory\shell यदि आप प्रशासक हैं
    2. HKEY_CURRENT_USER\Software\Classes\directory\shell यदि आप एक सामान्य उपयोगकर्ता हैं
  • किसी भी फ़ाइल के लिए संदर्भ मेनू:

    1. HKEY_CLASSES_ROOT\*\shell यदि आप प्रशासक हैं
    2. HKEY_CURRENT_USER\Software\Classes\*\shell यदि आप एक सामान्य उपयोगकर्ता हैं

सभी मामलों में:

  1. के तहत एक नई कुंजी जोड़ें shell, नामकरण के रूप में आप संदर्भ मेनू आइटम का नाम देना चाहते हैं
  2. इस कुंजी के अंदर एक नई कुंजी जोड़ें, नाम command(अनिवार्य नाम)
  3. अपने कस्टम प्रोग्राम में फ़ाइल पथ और चयनित फ़ाइल का नाम पास करने के लिए defaultसंपत्ति को संपादित करेंcommandmyprogrampath\path\path\executable.exe %1

अधिक अनुकूलन:

  • आइकन जोड़ें : iconचरण 1 पर बनाई गई कुंजी के लिए एक स्ट्रिंग मान जोड़ें, जो आइकन संसाधन पथ से मेल खाता है। किस आइकन का उपयोग करना है, यह निर्दिष्ट करने के लिए आप पूर्णांक तर्क भी प्रदान कर सकते हैं। उदाहरण:%SystemRoot%\System32\shell32.dll,3
  • केवल शिफ्ट-क्लिक पर प्रदर्शित करें : Extendedचरण 1 पर बनाई गई कुंजी के लिए एक खाली स्ट्रिंग मान जोड़ता है
  • मेनू एंट्री लेबल कस्टमाइज़ करें : चरण 1 पर बनाई गई कुंजी के लिए डिफ़ॉल्ट मान का मान बदलें
  • बदलें मेनू प्रविष्टि स्थान : नाम के एक स्ट्रिंग मूल्य जोड़ने Positionसे एक के साथ: Top,Bottom

2
HKEY_CLASSES_ROOT\Directory\Background\shellकेवल एक निर्देशिका की पृष्ठभूमि पर राइट क्लिक को प्रभावित कर सकते हैं
Amos

21
"%1"मामले में पथ रिक्त स्थान होना चाहिए ।
११:१६ को ब्लर

3
हाथोंहाथ। नई एक्सप्लोरर विंडो खोलने की भी आवश्यकता नहीं है: जैसे ही आप राइट-क्लिक करते हैं नई सेटिंग्स लोड हो जाती हैं।
जम्पजैक

1
लगता है कि पर्यावरण चर में काम नहीं करते हैं Command, क्या वे?
जैक लू

14
मेरी पिछली टिप्पणी के बारे में: समस्या को बदलकर तय किया जा सकता %1है %V
माइकल हेरमैन

10

मैं वापस चला गया और एक अन्य विषय में भी इसका उत्तर दिया क्योंकि इस प्रश्न पर विशेष रूप से बहुत कुछ दिखाई नहीं देता है।

मैंने पाया कि सबसे आसान तरीका "AppliesTo" नामक कुंजी में एक स्ट्रिंग मान जोड़ना और उसका मान "अंडर: {पाथ}" पर सेट करना था।

मेरे उदाहरण में, मैं चाहता हूं कि यह केवल टी ड्राइव में दिखे, इसलिए मेरा स्ट्रिंग मूल्य "AppliesTo": "अंडर: टी:" है।

C # में, यह निम्नलिखित के साथ आसानी से पूरा होता है:

RegistryKey _key = Registry.ClassesRoot.OpenSubKey("Folder\\Shell", true);
RegistryKey newkey = _key.CreateSubKey("My Menu Item");
newkey.SetValue("AppliesTo", "under:T:");

RegistryKey subNewkey = newkey.CreateSubKey("Command");
subNewkey.SetValue("", "C:\\yourApplication.exe");
subNewkey.Close();

newkey.Close();
_key.Close();

2
C # के माध्यम से ऐसा करने के लिए नमूना कोड प्रदान करने के लिए धन्यवाद। यह किसी भी व्यक्ति के लिए एक छोटी सी मदद है जो एक ऐप से जल्दी से ऐसा करना चाहता है।
आयो आई

2
दुर्भाग्य से, "AppliesTo" मान का "निर्देशिका \ पृष्ठभूमि" प्रविष्टि पर कोई प्रभाव नहीं पड़ता है। क्या किसी को पता है कि फ़ोल्डर की पृष्ठभूमि पर राइट क्लिक करने के लिए समान लिमिटिंग कैसे पूरी की जा सकती है?
cl0rkster

6

एक क्लीनर, आसान और तेज़ समाधान मिला: एक टेक्स्ट फ़ाइल बनाएं, इसे इन सामग्रियों से भरें, इसे अपनी आवश्यकताओं के लिए अपडेट करें, .reg प्रत्यय के साथ सहेजें और इसे लॉन्च करें (इसे एडमिनिस्ट्रेटर प्राइवेटलीग की आवश्यकता नहीं है क्योंकि यह रजिस्ट्री के उपयोगकर्ता-भाग तक पहुंचता है। ):

Windows Registry Editor Version 5.00

; Setup context menu item for click on right panel:
[HKEY_CURRENT_USER\Software\Classes\directory\Background\shell\MenuItemNameBackground\command]
@="C:\\yourpath\\executable.exe \"%1\""

; Optional: specify an icon for the item:   
; HKEY_CURRENT_USER\Software\Classes\directory\Background\shell\MenuItemNameBackground]
;"icon"="C:\\yourpath\\appicon.ico"

; Optional: specify a position in the menu
; HKEY_CURRENT_USER\Software\Classes\directory\Background\shell\MenuItemNameBackground]
;"position"="Bottom"

; -------------------------------------------------------------------------------------

; Setup context menu item for click on folders tree item:
[HKEY_CURRENT_USER\Software\Classes\directory\shell\MenuItemNamePanel\command]
@="C:\\yourpath\\executable.exe \"%1\""

; Optional: specify an icon for the item:   
; [HKEY_CURRENT_USER\Software\Classes\directory\shell\MenuItemNamePanel]
;"icon"="C:\\yourpath\\appicon.ico"

; Optional: specify a position in the menu
; [HKEY_CURRENT_USER\Software\Classes\directory\shell\MenuItemNamePanel]
;"position"="Top"

इस तरह आप अपने कॉन्फ़िगरेशन का बैकअप भी ले सकते हैं: बस .reg फ़ाइल को किसी सुरक्षित स्थान पर सहेजें। यदि आप फ़ाइल लॉन्च करने के बाद मैन्युअल रूप से रजिस्ट्री को संपादित करते हैं, तो "निर्यात" पर राइट-क्लिक करें और सेल करें।

पथ में डबल बैकस्पेस से सावधान रहें: \\


1

एकमात्र अच्छा समाधान मुझे वास्तव में काम कर रहा है: /superuser/1097054/shell-context-menu-registry-extension-doesnt-work-when-default-program-is-other

HKEY_CLASSES_ROOT \ SystemFileAssociations \ your.extension \ shell \ कमांड में कुंजियाँ जोड़ें अंतिम कुंजी को उस कमांड के साथ संशोधित करें जिसे आप करना चाहते हैं।

मेरे उद्देश्य के लिए यह था:

"C:\Program Files (x86)\GPSBabel\gpsbabel.exe" -r -i gpx -f "%1" -x simplify,count=1000 -o gpx -F "%1.gpx"

अगर मैं इसे निर्यात करता हूं तो मुझे एक .reg मिलता है।

Windows Registry Editor Version 5.00

[HKEY_CLASSES_ROOT\SystemFileAssociations\.gpx\shell\Simplify gpx\command]
@="\"C:\\Program Files (x86)\\GPSBabel\\gpsbabel.exe\" -r -i gpx -f \"%1\" -x simplify,count=1000 -o gpx -F \"%1.gpx\""

1

कमांड कमांड खोलें [व्यवस्थापक के रूप में चलाएं] और इस कमांड को निष्पादित करें

reg add "HKEY_CLASSES_ROOT\Directory\shell\Refi2\command" /d "powershell.exe -noexit -command Set-Location -literalPath '%V'"
  • -d: निष्पादित करने के लिए मूल्य [ऐप नाम exe]।
  • -v: कमांड कुंजी के अंदर एक नया उपकुंजी बनाता है।
  • -f: यदि पहले से मौजूद है तो बलपूर्वक कुंजी को ओवरराइड करें।
  • शक्तियाँ। exe -noexit -command Set-Location -literalPath '% V' इसके बजाय आप अपने exe का पथ निर्दिष्ट कर सकते हैं ।

अधिक सुविधाएँ चलाने के बारे में अधिक जानकारी के लिए: -

reg add /?
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.