2010-08-03 20 views
5

विंडोज   7 पर चलने वाला 32-बिट एप्लिकेशन नीचे क्या होगा?पर्यावरण। SpecialFolder.ProgramFiles विंडोज 7 पर 32-बिट अनुप्रयोग के लिए मूल्य?

Environment.GetFolderPath(Environment.SpecialFolder.ProgramFiles) 

C:\Program Files (x86) या C:\Program Files?

+0

मुझे लगता है कि यह विंडोज का एक अंग्रेजी संस्करण मानता है। –

+0

क्या आप 32 बिट प्रक्रिया फ़ाइल सिस्टम व्यू या 64 बिट प्रक्रिया (जैसे विंडोज एक्सप्लोरर) की फाइल सिस्टम व्यू से पथ चाहते हैं? –

+0

[यह] (http://stackoverflow.com/questions/194157/c-how-to-get-program-files-x86-on-vista-x64) उपयोगी भी हो सकता है (एक और एसओ सवाल)। – cjk

उत्तर

11

32 बिट पर विंडोज 7 आप "C: \ प्रोग्राम फ़ाइलें" मिलना चाहिए, 64 बिट पर "C: \ Program Files (x86)"।

+0

क्या हम किसी भी माध्यम से सी: \ प्रोग्राम फ़ाइलों के बजाय पथ सी: \ प्रोग्राम फ़ाइलें (x86) प्राप्त कर सकते हैं? –

+1

32 बिट सिस्टम पर जोड़े गए "x86" की कोई आवश्यकता नहीं है। यदि आप 64 बिट सिस्टम पर 64 बिट ऐप चलाने के दौरान भी x86 पथ प्राप्त करना चाहते हैं, तो इसके बजाय Environment.SpecialFolder.ProgramFilesX86 का अनुरोध करें। – Mario

+1

यह पूरी तरह से सत्य नहीं है - यह प्रक्रिया के गद्दार पर निर्भर करता है ... x64 os पर x86 बिल्ड में 'स्पेशलफोल्डर.प्रोग्रामफाइल' आपको * सी: \ प्रोग्राम फ़ाइलें (x86) * –

3

खैर मैं विंडोज 7 चल रहा हूँ अंतिम 32 बिट तो मुझे यकीन है कि क्या वापस आ गया था के लिए जानना चाहता था, तो मैं क्या देखने के लिए एक सांत्वना आवेदन में डाल

Console.WriteLine(Environment.GetFolderPath(Environment.SpecialFolder.ProgramFiles)); 

वापस आ गया था और यह सी लौटे: \ Program Files

8

यह कोई फर्क नहीं पड़ता कि यह क्या देता है। या तो वैल्यू उसी फ़ोल्डर में मैप करेगा, फाइल सिस्टम वर्चुअलाइजेशन हमेशा 32-बिट ऐप के लिए इसे (x86) पर मैप करेगा।

+0

+1: जानने के लिए उपयोगी – cjk