हां, आप इसे सीधे रजिस्ट्री हेरफेर के साथ स्क्रिप्ट कर सकते हैं।
संक्षिप्त उत्तर
में निम्न में से प्रत्येक कॉपी .reg
फ़ाइलें (जैसे firefox.reg
, chrome.reg
, ie.reg
) और उन्हें चलाने के लिए जब आप स्विच (या, के साथ स्क्रिप्ट करना चाहते हैं reg.exe
)।
फ़ायरफ़ॉक्स के लिए:
Windows Registry Editor Version 5.00
[HKEY_CURRENT_USER\Software\Microsoft\Windows\Shell\Associations\UrlAssociations\http\UserChoice]
"ProgId"="FirefoxURL"
क्रोम के लिए:
Windows Registry Editor Version 5.00
[HKEY_CURRENT_USER\Software\Microsoft\Windows\Shell\Associations\UrlAssociations\http\UserChoice]
"ProgId"="ChromeHTML"
IE9 के लिए:
Windows Registry Editor Version 5.00
[HKEY_CURRENT_USER\Software\Microsoft\Windows\Shell\Associations\UrlAssociations\http\UserChoice]
"ProgId"="IE.HTTP"
दीर्घ उत्तर
विंडोज प्रति उपयोगकर्ता मानक प्रोटोकॉल UrlAssociations
कुंजी के तहत डिफ़ॉल्ट पंजीकरण , पर पाया जाता है
HKEY_CURRENT_USER\Software\Microsoft\Windows\Shell\Associations\UrlAssociations
फ़ाइल संघों के समान, लिंक के लिए "डिफ़ॉल्ट प्रोग्राम" हो सकता है। यह शब्दजाल शब्दावली का एक प्रकार है जो UserChoice
कुंजी को संदर्भित करता है- http
ProgId के तहत एक मानक फ़ाइल एसोसिएशन-जैसे शेल पंजीकरण भी है जिसे बदला भी जा सकता है, लेकिन ब्राउज़र के लिए समीपस्थ कॉन्फ़िगरेशन डिफ़ॉल्ट प्रोग्राम के माध्यम से है (इसके लिए एक अतिरिक्त टिप्पणी के लिए नीचे देखें) )।
जब आप एक ब्राउज़र सेट करने के लिए कंट्रोल पैनल के डिफ़ॉल्ट प्रोग्राम्स सेक्शन में जाते हैं, तो मैं यहाँ जो बात कर रहा हूँ, वह आपको बदल रहा है:
इसे सीधे रजिस्ट्री में कॉन्फ़िगर करने के लिए, आइए पहले निरीक्षण करें कि यह पहले से ही है। इस स्क्रीनशॉट में मैंने उस कुंजी में नेविगेट किया है regedit.exe
और Chrome मेरा डिफ़ॉल्ट ब्राउज़र है, जिसे ChromeHTML
ProgId मान द्वारा निर्दिष्ट किया गया है ।
लिंक पर क्लिक करने पर आपको कौन सा ब्राउज़र खोलना है, इसके लिए आपको जो न्यूनतम परिवर्तन करने की आवश्यकता है, वह है कि आप जिस प्रोटोकॉल को बदलना चाहते हैं, ProgId
उसके तहत UserChoice
उपकुंजी के तहत मान को बदलना है (शायद http
और https
वही होगा, लेकिन अगर किसी कारण से आप प्रत्येक बनाना चाहते थे। उन अलग ब्राउज़रों में खुला, आप कर सकते हैं)।
अब यह केवल यह निर्धारित करने की बात है कि फ़ायरफ़ॉक्स, IE और किसी अन्य ब्राउज़र के लिए क्या उपयोग करना है, जिसे आप स्विच करना चाहते हैं। यदि आप इस प्रोग्राम को निर्धारित करना चाहते हैं, तो आप Capabilities
फ़ायरफ़ॉक्स के लिए यहां पाए गए ब्राउज़र पंजीकरण की कुंजी में खुदाई करके ऐसा कर सकते हैं :
HKEY_LOCAL_MACHINE\SOFTWARE\Clients\StartMenuInternet\FIREFOX.EXE\Capabilities\URLAssociations
HKEY_LOCAL_MACHINE\SOFTWARE\Clients\StartMenuInternet
वह जगह है जहाँ सभी ब्राउज़र सूचीबद्ध हैं, और प्रत्येक को उपरोक्त संरचना होनी चाहिए।
आप निरीक्षण से देख सकते हैं कि अगर मैं फ़ायरफ़ॉक्स पर स्विच करना चाहता था, तो मैं FirefoxURL
UrlAssociations में ProgId मान का उपयोग करूंगा।
(हालांकि, यदि आप इस तरह से खुदाई नहीं करना चाहते हैं, तो एक त्वरित धोखा है: बस जो भी ब्राउज़र को आप डिफ़ॉल्ट के रूप में सेट करना चाहते हैं, और यह देखने के लिए कि ब्राउज़र ने क्या सेट किया है, देखने के लिए फिर से इंस्टॉल करें UserChoice
!
हमें बस इतना करना है कि FirefoxURL
फ़ायरफ़ॉक्स में मुख्य मूल्य को बदल दिया जाए और अब लिंक खुले। ऐसा करने के बाद आप कंट्रोल पैनल के लिंक या डबल चेक पर क्लिक कर सकते हैं जो सही डिफॉल्ट पंजीकृत है:
अब यदि आप पूरा ध्यान दे रहे हैं, तो आप इस सब के साथ कुछ दोष देख सकते हैं:
IE में URLAssociations
ब्राउज़र पंजीकरण के तहत एक उपकुंजी नहीं है StartMenuInternet
, तो ProgId मान कहाँ से आता है? उत्तर: मैं नहीं जानता, कम से कम अधिक शोध के बिना नहीं। यह हार्डकोड किया जा सकता है या किसी अन्य कुंजी में पाया जा सकता है जो मैंने अभी तक नहीं पाया है।
फायरफॉक्स के ProgId यह के अंतर्गत है URLAssociations
कर रहे हैं FirefoxURL
, लेकिन जब आप ब्राउज़र ही में विकल्पों में रजिस्टर करने के लिए क्लिक करें, इसे इस्तेमाल करता है FirefoxHTML
बजाय ProgId के रूप में! क्यूं कर? फिर, मुझे नहीं पता। वे दोनों काम करते हैं क्योंकि वे दोनों मौजूद हैं और फ़ायरफ़ॉक्स को इंगित करते हैं। शायद यह जानबूझकर है, लेकिन यह बिना किसी प्रभाव के शायद एक बग है।
UserChoice
डिफ़ॉल्ट प्रोग्राम नहीं होने पर क्या होता है ? उत्तर: प्रोटोकॉल (जैसे, http
) के लिए "नियमित" फ़ाइल एसोसिएशन का उपयोग किया जाता है। यह सिर्फ फ़ाइलों के समूह (जैसे मानक ProgId स्थानों पर पाया जाता है HKCU\Software\Classes
, HKLM\Software\Classes
और कम से दृश्य HKCR
)। कम से कम क्रोम सेट करता है यह वहां की जानकारी है, मुझे लगता है, लेकिन फ़ायरफ़ॉक्स कम से कम मेरे परीक्षणों में नहीं लगता है।
मेरा सुझाव है कि यदि आप इसे डिफ़ॉल्ट प्रोग्राम्स एडिटर में शामिल करना चाहते हैं, तो आपको उस एप्लिकेशन के यूजरव्यू फीडबैक पेज पर सुझाव देना चाहिए और इसे अपग्रेड करना चाहिए । मेरे पास यह अच्छा अधिकार है कि एप्लिकेशन लेखक उस फीडबैक पर ध्यान देता है जब यह निर्णय लेता है कि उसका विकास समय कैसे व्यतीत करे!