मेरे पास एक छोटा अजगर स्क्रिप्ट है जो रजिस्ट्री में मेरे डिफ़ॉल्ट ब्राउज़र के रूप में सेट है। यह URL के आधार पर IE या फ़ायरफ़ॉक्स लॉन्च करने का चयन करेगा (कुछ कार्य स्थल केवल IE में कार्य करते हैं)। अतीत में, मैंने इसे लॉन्च करने के लिए अजगर स्थापना के लिए एक पूर्ण पथ का उपयोग किया था, लेकिन हाल ही में अजगर स्थापित स्थान में बदलाव के कारण यह टूट गया (अब यह हमारी परियोजना फाइलों के साथ बंडल है, इसलिए यह अधिक बार बदल सकता है)। जब यह चलता है तो पथ को अद्यतन किया जाना चाहिए, इसलिए बस वर्तमान वातावरण के आधार पर अजगर को खोजने के लिए पर्याप्त होना चाहिए।
यह पुरानी रजिस्ट्री कमांड प्रविष्टि है:
[HKEY_CLASSES_ROOT \ RRBrowserChooserURL \ खोल \ खुला \ कमांड]
@ = "\" C: \\ Python26 \\ python.exe \ "\" C: \\ browser_chooser.pyw \ "\"% 1 \ ""
यहाँ अब तक का सबसे अच्छा काम करने वाला विकल्प आया हूँ:
[HKEY_CLASSES_ROOT \ RRBrowserChooserURL \ खोल \ खुला \ कमांड]
@ = "\" C: \\ Windows \\ System32 \\ cmd.exe \ "\" / c \ "\" C: \\ browser_chooser.pyw \ "\"% 1 \ ""
हालांकि, लिंक खोलने पर यह संक्षिप्त रूप से कमांड विंडो को पॉप अप करता है। मैं उससे बचना चाहूंगा।
किसी अन्य भाषा में अपनी स्क्रिप्ट को फिर से लिखना और एक निष्पादन योग्य में संकलित करने के बिना मैं सीधे संदर्भ दे सकता हूं, क्या यह रास्ता जानने के बिना निष्पादित करने का एक अच्छा तरीका है?