उद्देश्य और स्थान के लिए आपका सबसे बड़ा सुराग "बड़े प्रकार" में है, अर्थात, संबंधित पित्ती के नाम: HKLM और HKTU
फ़ाइल संघों को दोनों पित्ती में सेट किया गया है और इसके दो अलग-अलग उद्देश्य हैं:
जैसा कि नाम का अर्थ है, HKCU रजिस्ट्री प्रविष्टियाँ CURRENT USER के लिए फ़ाइल संघों को सेट करती हैं और HKLM में संबंधित फ़ाइल प्रकार सेटिंग्स को ओवरराइड करती हैं।
HKLM LOCAL मशीन के लिए फ़ाइल संघों को सेट करता है, अर्थात, मशीन के सभी USERS के लिए (जब तक HKCU प्रविष्टियों द्वारा ओवरराइड नहीं किया जाता है)। (Win98 के लिए, HKCR, HKLM \ Software \ Classes के लिए केवल एक छोटा उर्फ था। वे अलग-अलग या अलग-अलग पित्ती नहीं थे। हालांकि, यह Win XP के लिए बदल गया और अब सच नहीं है। HKCR अब एक वर्चुअल हाइव है जो विलय का परिणाम है। HKLM \ Software \ Classes \, HKCU \ Software \ Classes \, और HKCU \ Software \ Microsoft \ Windows \ CurrentVersion \ Explorer \ FileExts HKCU जानकारी पूर्ववर्ती लेने के साथ।)
यह दो चरण प्रणाली न केवल एक-से-एक, बल्कि कई-से-एक और कई-कई फ़ाइल एसोसिएशन योजनाओं की सुविधा देती है। उदाहरण के लिए, .htm, .html और .shtml फ़ाइलपेट, सभी को ProgID = htmlfile पर सेट किया जा सकता है, जो बदले में एकल ब्राउज़र को परिभाषित कर सकता है। OTOH, प्रविष्टियों में OpenWithList या OpenWithProgID उपकुंजियाँ हो सकती हैं जिनमें कई ब्राउज़र, संपादकों या अन्य ऐप्स की सूची से फ़ाइल खोलने के लिए कई प्रविष्टियाँ हैं।
HKLM \ Software \ Classes \ और HKCU \ Software \ Classes दोनों एक ही तरीके से संचालित होते हैं (एक बस दूसरे पर पूर्वता लेता है)। सरलतम रूप में फ़ाइल एक्सटेंशन के लिए एक रजिस्ट्री कुंजी है (उदाहरण के लिए, HKCR.txt) जिसका डिफ़ॉल्ट मान संगत प्रोगिड (जैसे, txtfile) है। डिफ़ॉल्ट मान के अलावा, या इसके बजाय, "OpenWithProgID" उपकुंजी (जैसे, txtfile और htmlfile) के लिए सूचीबद्ध अतिरिक्त ProgID नाम हो सकते हैं, और / या अतिरिक्त अनुप्रयोग नाम "OpenWithList" (उदाहरण के लिए, नोटपैड ++) के तहत उपकुंजियों को प्रदर्शित कर सकते हैं .exe, Opera.exe, Firefox.exe)।
प्रत्येक ProgID को HKCR (जैसे, HKCR \ txtfile) के भीतर एक अन्य कुंजी में परिभाषित किया गया है। इस कुंजी में उपकुंजियाँ होती हैं जो विंडोज़ को बताती हैं कि किस आइकन का उपयोग करना है और कैसे खोलना है, प्रिंट करना है, प्रिंट करना है, आदि से संबंधित फाइल (e।, G, HKCR \ txtfile \ shell \ open \ कमांड)। इसी प्रकार, प्रत्येक एप्लिकेशन का नाम HKCR \ Applications (जैसे, HKEY_CLASSES_ROOT \ Applications \ Firefox.exe \ shell \ open \ कमांड) के तहत एक उपकुंजी के रूप में परिभाषित किया गया है।
HKCU \ Software \ Classes कुंजी के अलावा, उपयोगकर्ता खाता फ़ाइल संघों HKCU \ Software \ Microsoft \ Windows \ CurrentVersion \ Explorer \ FileExts कुंजी में पाए जाते हैं। ये प्रविष्टियाँ केवल विंडोज एक्सप्लोरर के लिए नहीं हैं जैसा कि सुझाव दिया गया है, लेकिन उपयोगकर्ता खाता फ़ाइल एसोसिएशन ओवरराइड का एक अतिरिक्त स्रोत हैं। प्रविष्टियाँ एक्सप्लोरर में फ़ाइल एसोसिएशन टूल द्वारा बनाई गई हैं (एक्सप्लोरर \ टूल्स \ फ़ोल्डर विकल्प \ फ़ाइल प्रकार) और प्रत्येक सूचीबद्ध फ़ाइल एक्सटेंशन के लिए एक ओपनविथलिस्ट और / या एक ओपनविथप्रोगआईडी उप शामिल हैं।
एक फ़ाइल एसोसिएशन का निर्धारण करने के लिए, Windows एक संगत फ़ाइल एक्सटेंशन के लिए HKCU प्रविष्टियों में पहले दिखता है। यदि कोई नहीं पाया जाता है तो केवल एचकेएलएम प्रविष्टियाँ खेल में आती हैं। (नोट: मैंने परीक्षण नहीं किया है जो पूर्वता लेता है - HKCU \ Software \ Classes या HKCU \ MIcrosoft \ Windows \ CurrentVersion \ Explorer \ FileExts लेकिन मुझे संदेह है कि यह FileExts कुंजी होगी)। इसी तरह, यदि संदर्भित संदर्भ या आवेदन नाम एचकेसीयू में नहीं मिला है, तो एचकेएलएम प्रविष्टियां खोजी जाती हैं। (ध्यान दें कि \ Applications \ प्रविष्टियाँ केवल मनमाना नाम हैं - भले ही वे आम तौर पर डिस्क एक्स फ़ाइल नाम पर वास्तविक के समान हों।)
तो एक विशिष्ट उपयोगकर्ता खाते के लिए एक फ़ाइल एसोसिएशन को परिभाषित करने के लिए, HKCU हाइव में प्रविष्टियां बनाएं। सभी उपयोगकर्ताओं के लिए एक एसोसिएशन को परिभाषित करने के लिए, HKLM हाइव (HKCR) में प्रविष्टियाँ बनाएँ और HKCU हाइव के सभी संदर्भों को उस फ़ाइल प्रकार में हटा दें। जाहिर है कि आपको रजिस्ट्री कुंजियों के लिए उचित पहुँच अधिकार की आवश्यकता है।
मैं गधों और फुटपाथ के साधनों का उपयोग नहीं करता हूं क्योंकि मैं या तो इंटरएक्टिव या बैच मोड में RegEdit का उपयोग करना पसंद करता हूं, लेकिन अन्य टिप्पणियों से यह प्रतीत होता है कि वे केवल HKLM हाइव पर काम करते हैं और HKCU कुंजियाँ साफ़ करने / सेट करने के लिए बेकार हैं। कुछ समय लें और अधिक उदाहरण देखने के लिए RegEdit के साथ उपरोक्त कुंजी ब्राउज़ करें।