2008-10-27 8 views
8

ओएस पर 2000 या बाद में (किसी भी भाषा) जीतने पर मुझे लगता है कि यह पथ हमेशा मौजूद रहेगा? उदाहरण के लिए मुझे पता है कि कुछ भाषाओं में जीत xp पर "प्रोग्राम फ़ाइलें" निर्देशिका का एक अलग नाम है। तो क्या यह System32 फ़ोल्डर के लिए सच है?क्या यह मानना ​​सुरक्षित है कि पथ सी: विन्डोज़ system32 हमेशा मौजूद है?

धन्यवाद। ओहद।

उत्तर

21

आप निश्चित रूप से यह नहीं मान सकते कि: विंडोज एक अलग ड्राइव अक्षर पर, या एक अलग निर्देशिका में स्थापित किया जा सकता है। पिछले काम पर पीसी विंडोज़ डी: \ WINNT में स्थापित किया गया था, उदाहरण के लिए।

संक्षिप्त उत्तर API कॉल GetSystemDirectory() का उपयोग करना है, जो आपके बाद के पथ को वापस कर देगा।

लंबा उत्तर पूछना है: क्या आपको वास्तव में यह जानने की ज़रूरत है? यदि आप इसे विंडोज निर्देशिका में फ़ाइलों की प्रतिलिपि बनाने के लिए उपयोग कर रहे हैं, तो मैं आपको सलाह दूंगा कि आप वास्तव में ऐसा करना चाहते हैं या नहीं। विंडोज निर्देशिका में कॉपी करना प्रोत्साहित नहीं किया जाता है, क्योंकि आप अन्य अनुप्रयोगों को बहुत आसानी से गड़बड़ कर सकते हैं। यदि आप डीएलएल खोजने के लिए पथ का उपयोग कर रहे हैं, तो पथ के बिना उपयुक्त एक को खोजने के लिए ओएस पर भरोसा क्यों न करें? यदि आप ओएस फाइलों के बिट्स में खुदाई कर रहे हैं, तो विचार करें: क्या यह भविष्य में काम करने जा रहा है? आम तौर पर यदि आप अपने प्रोग्राम को भविष्य के विंडोज संस्करणों पर काम करना चाहते हैं तो विंडोज निर्देशिका में स्पष्ट रूप से पोक करना बेहतर नहीं है।

+1

मैं इस उत्तर के लिए वोट देता हूं। मेरे पास दूसरों से अधिक वोट प्राप्त हुए हैं लेकिन निश्चित रूप से यह एक बहुत अधिक पूर्ण और जानकारीपूर्ण है। ओहड 42, कृपया इसे स्वीकार किए गए उत्तर के रूप में चिह्नित करने पर विचार करें। – vmarquez

+0

धन्यवाद डेविड, क्षमा करें कि मुझे इतना लंबा समय लगता है कि जवाब भी स्वीकार करें। –

2

"विंडिर" पर्यावरण चर का उपयोग करना सुरक्षित हो सकता है और फिर उस पथ के अंत में "System32" को जोड़ना सुरक्षित हो सकता है। कभी-कभी खिड़कियां एक अलग फ़ोल्डर या अलग ड्राइव के नीचे हो सकती हैं, इसलिए "विंडिर" आपको बताएगा कि यह कहां है।

जहां तक ​​मुझे पता है, system32 फ़ोल्डर हमेशा विंडोज फ़ोल्डर के अंतर्गत मौजूद होना चाहिए।

4

विंडोज एक अलग हार्डड्राइव पर और एक अलग फ़ोल्डर में स्थापित किया जा सकता है। विंडोज फ़ोल्डर में लाने और system32 जोड़ने के लिए% windir% या% systemroot% पर्यावरण चर का प्रयोग करें। या% पथ% चर का उपयोग करें, यह आमतौर पर पहला प्रवेश द्वार और डीएलएस AFAIK जैसी फ़ाइलों के लिए खोज करने की पसंदीदा विधि है। टिप्पणियों के अनुसार: system32 dir पर पहली बार निर्भर न करें। मुझे लगता है कि यह मानना ​​सुरक्षित है कि यह कहीं भी% पथ% में है।

+0

केवल% path% में पहला आइटम न लें। कार्यक्रम का एक मेजबान पोस्ट-एपेंड के बजाए खुद को पैथ में पूर्व-जोड़ना पसंद करता है। सिस्टम 32 मेरे एलएम पथ पर लगभग 9वीं है। – KTC

+0

निश्चित रूप से सच है, बस मान लें कि यह कहीं कहीं है, मैं संपादित करूंगा :-) –

3

मैं, GetWindowsDirectory Win32 एपीआई का प्रयोग करेंगे वर्तमान Windows निर्देशिका पाने के लिए यह करने के लिए System32 संलग्न एक फिर जांच अगर यह मौजूद है।

16

नहीं, आप इसे नहीं मान सकते हैं।

विंडोज को एक अलग पथ पर स्थापित किया जा सकता है। एक समाधान है GetSystemDirectory (विंडोज एपीआई के हिस्से के रूप में लागू) को कॉल करके इसे देखना।

0

बस एक एफवाईआई, लेकिन टर्मिनल सर्वर पर्यावरण (यानी, सिट्रिक्स) में, GetWindowsDirectory() दूरस्थ उपयोगकर्ता के लिए एक अद्वितीय पथ लौटा सकता है।

link text

अधिक से अधिक कंपनियों को आभासी डेस्कटॉप का उपयोग के रूप में, डेवलपर्स इसे ध्यान में रखने की जरूरत है।

संबंधित मुद्दे

 संबंधित मुद्दे