एमएस विस्टा पर विंडोज सेवा से उपयोगकर्ता फ़ोल्डर का मार्ग कैसे प्राप्त करें? मुझे सी के पथ के बारे में लगता है: \ उपयोगकर्ता निर्देशिका, लेकिन यह अलग-अलग स्थान सिस्टम स्थानीयकरण पर निर्भर हो सकता है।उपयोगकर्ता निर्देशिका का पथ प्राप्त करना
उत्तर
Environment.SpecialFolder Enumeration पर एक नज़र डालें, उदा।
Environment.GetFolderPath(Environment.SpecialFolder.CommonDesktopDirectory);
आप चाहते हैं विशेष फ़ोल्डर के लिए समायोजित करें। हालांकि, here में एक और पोस्ट पढ़ने में, ऐसा लगता है कि यदि आप सी: \ उपयोगकर्ताc: \ users \ public के बजाय, उदाहरण के लिए, आपको स्ट्रिंग के थोड़ा हेरफेर करने की आवश्यकता हो सकती है।
System.Environment.SpecialFolder आप इन सभी फ़ोल्डरों जैसे मेरे दस्तावेज़, आदि के रूप में है कि आप चाहते हैं, के लिए पहुँच प्रदान करेगा ..
आप UserProfile SpecialFolder उपयोग करते हैं, कि तुम पथ आपकी प्रोफ़ाइल के तहत देना चाहिए उपयोगकर्ता।
string userPath = Environment.GetFolderPath(Environment.SpecialFolder.UserProfile);
System.Environment.GetFolderPath (System.Environment.SpecialFolder.Personal)
मुझे लगता है कि समारोह नेट के संपर्क में नहीं देख सकते हैं, लेकिन सी में (++) यह होगा
SHGetKnownFolderPath(FOLDERID_UserProfiles, ...)
@Neil ने इंगित किया है कि FOLDERID_UserProfiles
के साथ सबसे अच्छा तरीका है। हालांकि, सी # में यह नहीं है। लेकिन, इसे आमंत्रित करना मुश्किल नहीं है:
using System;
using System.Runtime.InteropServices;
namespace SOExample
{
public class Main
{
[DllImport("shell32.dll")]
static extern int SHGetKnownFolderPath([MarshalAs(UnmanagedType.LPStruct)] Guid rfid, uint dwFlags, IntPtr hToken, out IntPtr pszPath);
private static string getUserProfilesPath()
{
// https://msdn.microsoft.com/en-us/library/windows/desktop/dd378457(v=vs.85).aspx#folderid_userprofiles
Guid UserProfilesGuid = new Guid("0762D272-C50A-4BB0-A382-697DCD729B80");
IntPtr pPath;
SHGetKnownFolderPath(UserProfilesGuid, 0, IntPtr.Zero, out pPath);
string path = System.Runtime.InteropServices.Marshal.PtrToStringUni(pPath);
System.Runtime.InteropServices.Marshal.FreeCoTaskMem(pPath);
return path;
}
static void Main(string[] args)
{
string path = getUserProfilesPath(); // C:\Users
}
}
}
- 1. स्थानीय निर्देशिका का पथ
- 2. स्कैन रूट निर्देशिका प्राप्त करना
- 3. JFileChooser का उपयोग कर निर्देशिका पथ कैसे प्राप्त करें?
- 4. आभासी निर्देशिका भौतिक पथ कैसे प्राप्त करें
- 5. फ़ाइल का पूर्ण पथ प्राप्त करना
- 6. सक्रिय निर्देशिका में उपयोगकर्ता के समूह प्राप्त करना
- 7. .NET Framework निर्देशिका पथ
- 8. उपयोगकर्ता-निर्धारित पथ पीएचपी
- 9. मैं ड्रूपल में उपयोगकर्ता का प्रोफ़ाइल पथ कैसे प्राप्त करूं?
- 10. स्थापना के दौरान अनुप्रयोग पथ प्राप्त करना
- 11. वर्तमान उपयोगकर्ता के घर निर्देशिका
- 12. सी # सक्रिय निर्देशिका: उपयोगकर्ता का डोमेन नाम प्राप्त करें?
- 13. निर्देशिका पथ प्रकार argparse
- 14. उपयोगकर्ता निर्देशिका
- 15. चींटी: निर्देशिका में फ़ाइल का पथ
- 16. सी # में घर निर्देशिका का मार्ग प्राप्त करना?
- 17. पथ निर्देशिका आईओएस
- 18. वाइल्डकार्ड के साथ निर्देशिका पथ निर्दिष्ट करना संभव है?
- 19. Maven रिश्तेदार निर्देशिका पथ
- 20. पथ एक निर्देशिका है?
- 21. पीएचपी केवल निर्देशिका पथ
- 22. डेल्फी में निर्देशिका पथ हेरफेर?
- 23. जावा में मेरा दस्तावेज़ पथ प्राप्त करना
- 24. कमांड प्रॉम्प्ट में MySQL पथ प्राप्त करना
- 25. भौतिक पथ से संबंधित आभासी पथ प्राप्त करना
- 26. वर्चुअल निर्देशिका और ASP.NET निर्देशिका पथ
- 27. उपयोगकर्ता की होम निर्देशिका
- 28. सक्रिय निर्देशिका उपयोगकर्ता
- 29. एक डब्ल्यूसीएफ सेवा असेंबली में फ़ाइल का पथ प्राप्त करना
- 30. <img/> का पूर्ण पथ प्राप्त करना
क्या आप किसी विशेष उपयोगकर्ता के लिए विशेष घर पथ चाहते हैं? इस बात की कोई गारंटी नहीं है कि सभी उपयोगकर्ताओं के पास एक ही स्थान पर उनके घर फ़ोल्डर्स होंगे। (उदाहरण के लिए रिमोट होम फ़ोल्डर्स।) –