सभी फ़ाइल एक्सटेंशन एसोसिएशन जानकारी रजिस्ट्री में संग्रहीत की जाती है। और अगर आप थोड़ी ब्राउज़िंग करते हैं, तो यह पता लगाना बहुत मुश्किल नहीं है कि चीजें कैसे काम करती हैं। मशीन-व्यापी संघों के लिए, यह सब HKEY_CLASSES_ROOT की जड़ में होता है । इस सामग्री का मैन्युअल संपादन आपको आपकी फ़ाइल एक्सटेंशन (यद्यपि थकाऊ) पर अंतिम शक्ति प्रदान करता है। यदि आप चीजों को खराब कर देते हैं और वापस लौटना चाहते हैं तो बस एक बैकअप बनाएं।
प्रत्येक फ़ाइल एसोसिएशन में एक उपकुंजी होती है जिसे .xyz कहा जाता है जहाँ xyz आपकी फ़ाइल का विस्तार है। (डिफ़ॉल्ट) उस कुंजी के लिए मूल्य कुछ मनमाने ढंग से स्ट्रिंग पर सेट है। फ़ाइल एक्सटेंशन रजिस्टर करने वाले अधिकांश एप्लिकेशन इसे कुछ मानव पठनीय के लिए सेट करते हैं। उदाहरण के लिए, .pdf मेरे सिस्टम पर FoxitReader.Document के लिए सेट है । इस कुंजी में कई अन्य मान हो सकते हैं, लेकिन (डिफ़ॉल्ट) मान के अलावा कुछ भी अनिवार्य नहीं है।
जो कुछ भी (डिफ़ॉल्ट) मान के लिए सेट किया गया है, उसी नाम के साथ एक ही उपकुंजी भी होगी HKK_CLASSES_ROOT की जड़ में। इस कुंजी का (डिफ़ॉल्ट) मान मूल रूप से फ़ाइल प्रकार का "अनुकूल नाम" है। इस कुंजी में कई उपकुंजियां भी हो सकती हैं, लेकिन केवल वे ही हैं जिनकी हम दिलचस्पी रखते हैं DefaultIcon और Shell ।
DefaultIcon जैसा कि आपने शायद अनुमान लगाया था कि उस फ़ाइल प्रकार के लिए आइकन को नियंत्रित करता है। (डिफ़ॉल्ट) इस कुंजी के लिए मूल्य आइकन फ़ाइल के पथ पर सेट किया जाना चाहिए। या यदि आइकन एक .exe फ़ाइल में है, तो उसे .exe के पथ पर सेट करें और पथ के अंत में एक अल्पविराम और आइकन इंडेक्स शामिल करें। उदाहरण के लिए, FoxitReader.Document DefaultIcon को सेट किया गया है
C:\PROGRA~1\FOXITS~1\FOXITR~1\FOXITR~1.EXE,1
शेल वह जगह है जहाँ आप इस फ़ाइल प्रकार के लिए सभी "एक्शन" सेट करते हैं। प्रत्येक क्रिया जिसे आप परिभाषित करना चाहते हैं, उसके लिए एक उपकुंजी बनाएं जिसे आप क्रिया का नाम देना चाहते हैं। अधिकांश प्रकारों में कम से कम एक क्रिया होती है जिसे खुला कहा जाता है । इस नई क्रिया के उपकुंजी के भीतर, कमांड नामक उपकुंजी बनाएं । (डिफ़ॉल्ट) इस कमांड कुंजी का मान मूल रूप से कमांड लाइन है कि रन जब इस कार्रवाई क्लिक किया जाता है / चलाया जाता है। उदाहरण के लिए, एक FoxitReader.Document पर ओपन कमांड है
"C:\PROGRA~1\FOXITS~1\FOXITR~1\FOXITR~1.EXE" "%1"
"% 1" तर्क फ़ाइल आप से कार्रवाई भाग गया के पथ पर सेट हो जाता है।
यदि आपको किसी दिए गए फ़ाइल प्रकार के लिए केवल एक क्रिया परिभाषित की गई है, तो मेरा मानना है कि यह डिफ़ॉल्ट क्रिया होगी जो फ़ाइल डबल क्लिक होने पर चलाई जाती है। यदि कई संभावित कार्य हैं, तो आप सेट कर सकते हैं कि शेल कुंजी के (डिफ़ॉल्ट) मान को संशोधित करके कौन सा डिफ़ॉल्ट होगा । बस इसे उस क्रिया के नाम पर सेट करें जिसे आप डिफ़ॉल्ट होना चाहते हैं।
यह सब कहा के साथ, यह खरोंच से यह सब करने के लिए बहुत कुशल नहीं है। यह संभव है कि बिल्ट-इन टूल्स का उपयोग करना आसान हो, ताकि अधिकांश तरीके से वहां पहुंच सकें और फिर उन चीजों को मैन्युअल रूप से ट्वीक करें जो टूल आपको करने नहीं देते हैं। मुझे शायद यह भी उल्लेख करना चाहिए कि यह सभी जानकारी एक्सपी पर आधारित है, लेकिन मैं लगभग सकारात्मक हूं कि इसमें से कोई भी विस्टा या विन 7 के लिए नहीं बदला है।