वैश्विक विंडोज़ पथ पर्यावरण परिवर्तनीय प्रोग्रामेटिक (सी ++) सेट करने का कोई तरीका है?
जहाँ तक मैं देख सकता हूं, putenv इसे केवल वर्तमान एप्लिकेशन के लिए सेट करता है।
भी एक विकल्प देखते हैं अगर मैं एपीआई तरीकों पसंद करेंगे रजिस्ट्री (HKLM\SYSTEM\CurrentControlSet\Control\Session Manager\Environment)
में सीधे बदल रहा है?क्या विंडोज़ पर सी ++ में प्रोग्रामेटिक रूप से पर्यावरण पथ सेट करने का कोई तरीका है?
उत्तर
MSDN Says:
SetEnvironmentVariable कॉलिंग सिस्टम वातावरण चर पर कोई प्रभाव पड़ता है। प्रोग्राम के रूप में जोड़ने के लिए या प्रणाली वातावरण चर को संशोधित, HKEY_LOCAL_MACHINE \ प्रणाली के लिए उन्हें जोड़ने के लिए \ CurrentControlSet \ Control \ सत्र प्रबंधक \ पर्यावरण रजिस्ट्री कुंजी है, तो lParam के साथ स्ट्रिंग "पर्यावरण" करने के लिए सेट एक WM_SETTINGCHANGE संदेश प्रसारित । यह अनुप्रयोगों की अनुमति देता है, जैसे खोल, अपने अपडेट उठाएं। ध्यान दें कि वातावरण चर की मूल्यों इस कुंजी में सूचीबद्ध 1024 वर्ण हो सकते हैं।
कोई एपीआई नहीं है - रजिस्ट्री बदल रहा है जिस तरह से यह करने के लिए है। बदले गए मूल्य का उपयोग परिवर्तन के बाद शुरू होने वाली प्रक्रियाओं के लिए किया जाएगा।
इसके अलावा: ध्यान दें कि चल अनुप्रयोगों को सक्रिय रूप से सेटिंग बदल गई संदेश और कई (सबसे?) ऐसा नहीं करते संसाधित करना होगा।
आप रजिस्ट्री के माध्यम से यह करने के लिए चाहते हैं, आप this कार्यक्रम के स्रोत कोड को देखने के लिए चाहते हो सकता है।
माइक्रोसॉफ्ट भी एक छोटे से कमांड लाइन उपयोगिता अपने resource toolkits साथ setx कहा जाता है, जो आप से करने देंगे प्रदान करता है। वैसे, नियमित सेट कमांड आपको बस स्थानीय पर्यावरण चर को परिभाषित करने देता है।
हाँ आप सही हैं। तुम भी बंद प्रवेश करने कुछ मिलीसेकंड (5000) SendMessageTimeout एपीआई का उपयोग कर के लिए पैरामीटर (lParam) "पर्यावरण" SMTO_ABORTIFHUNG साथ के लिए सभी खिड़कियां SETTINGCHANGE कास्टिंग borad की
संदेश संदेश के बिना इन सेटिंग्स को प्रभावित करने की जरूरत है।
यह वही है के साथ संसाधन किट करता है प्रदान की setX.exe है।
जैसा कि पहले बताया गया, मशीन स्तर पर पथ को बदलने के लिए सिर्फ इस रजिस्ट्री प्रविष्टि को बदलें:
HLM\SYSTEM\CurrentControlSet\Control\Session Manager\Environment
लेकिन क्या आप भी इस रजिस्ट्री को बदलकर उपयोगकर्ता स्तर पर पथ सेट कर सकते हैं प्रविष्टि:
HKEY_CURRENT_USER\Environment\Path
और तुम भी आवेदन \ पथ deta जोड़कर आवेदन स्तर पर पथ सेट कर सकते हैं इस रजिस्ट्री प्रविष्टि के लिए ils:
HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\App Paths\
- 1. एम्बेडेड जेटी में प्रोग्रामेटिक रूप से संदर्भ-पैरा सेट करने का कोई तरीका है?
- 2. क्या आईओएस में प्रोग्रामेटिक रूप से ब्लूटूथ और/या वाईफाई टॉगल करने का कोई तरीका है?
- 3. .NET में प्रोग्रामेटिक रूप से HttpHandler जोड़ने का कोई तरीका?
- 4. क्या कोई फ़ाइल प्रकार एसोसिएशन लेने के लिए "UserChoice" रजिस्ट्री कुंजी प्रोग्रामेटिक रूप से सेट करने का कोई तरीका है?
- 5. क्या विंडोज़ पर लिंक समय पर मॉलोक को फिर से परिभाषित करने का कोई तरीका है?
- 6. क्या आईओएस डिवाइस से अनंतता तक कैमरे के फोकस को प्रोग्रामेटिक रूप से सेट करने का कोई तरीका है?
- 7. क्या कोई एएसपी.NET एप्लिकेशन के कस्टमरर्स को बंद करने के लिए प्रोग्रामेटिक रूप से जांचने का कोई तरीका है?
- 8. क्या प्रोग्राम बार आइटम प्रोग्रामेटिक रूप से हाइलाइट करने का कोई तरीका है?
- 9. क्या प्रदर्शन रीफ्रेश दर प्रोग्रामेटिक रूप से प्राप्त करने का कोई तरीका है?
- 10. क्या LINQ में मान सेट करने का कोई तरीका है?
- 11. क्या सी # में अंतर्निहित रूप से एक प्रकार का निर्माण करने का कोई तरीका है?
- 12. सी # सेट पर्यावरण परिवर्तनीय
- 13. प्रोग्रामेटिक रूप से संशोधित पर्यावरण चर?
- 14. app.config प्रोग्रामेटिक रूप से
- 15. सी # - प्रोग्रामेटिक रूप से अग्रिम पावरपॉइंट स्लाइड शो का तरीका?
- 16. सेट चौड़ाई प्रोग्रामेटिक रूप से
- 17. क्या विशेष रूप से स्टैक्ड एक्शन बार के लिए actionBarTabTextStyle सेट करने का कोई तरीका है?
- 18. क्या विंडोज़ में चेहरों के साथ emacs से टेक्स्ट कॉपी करने का कोई तरीका है?
- 19. क्या इंस्टॉलेशन के बिना विंडोज़ पर हास्केल सेटअप करने का कोई तरीका है? (कॉपी + पेस्ट)
- 20. क्या ब्रेकपॉइंट्स को सशर्त रूप से सेट या कोड करने का कोई तरीका है?
- 21. क्या कॉल स्टैक पर सशर्त जीडीबी में ब्रेकपॉइंट सेट करने का कोई तरीका है?
- 22. क्या जावा का उपयोग करके प्रोग्रामेटिक रूप से जीमेल पासवर्ड बदलने का कोई तरीका है?
- 23. क्या रिमोट-विशिष्ट .gitignores सेट करने का कोई तरीका है?
- 24. क्या टेक्स्टबॉक्स पर मैन्युअल रूप से "एंटर कुंजी" ईवेंट का आह्वान करने का कोई तरीका है?
- 25. विंडोज़ में पाइथन से दूसरे एप्लिकेशन में डेटा स्थानांतरित करने का सबसे अच्छा तरीका क्या है?
- 26. जेनकींस/हडसन में प्रोग्रामेटिक रूप से पर्यावरण चर सेट कैसे करें?
- 27. प्रोग्रामेटिक रूप से आयात टीम प्रोजेक्ट सेट
- 28. Android पर एपीएन प्रोग्रामेटिक रूप से सेट करें
- 29. SQL सर्वर कनेक्शन प्रोग्रामेटिक रूप से परीक्षण करने का सबसे अच्छा तरीका क्या है?
- 30. क्या एसक्यूएलकेमी ऑब्जेक्ट्स पर पारदर्शी रूप से सत्यापन करने का कोई तरीका है?
यह ध्यान दिया जाना चाहिए कि "पर्यावरण" स्ट्रिंग यूटीएफ 16 फॉर्म में है, इसलिए आपको 'एल' उपसर्ग का उपयोग करना चाहिए। नमूना कोड: 'SendMessageTimeout (HWND_BROADCAST, WM_SETTINGCHANGE, 0, (LPARAM) एल "पर्यावरण", SMTO_ABORTIFHUNG, 5000, NULL); ' – izogfif