C # में वर्तमान उपयोगकर्ता के लिए डेस्कटॉप का मार्ग कैसे प्राप्त करें?


355

मुझे C # में वर्तमान उपयोगकर्ता के लिए डेस्कटॉप का मार्ग कैसे मिलेगा?

केवल एक चीज जो मुझे मिल सकती थी वह थी VB.NET-only वर्ग SpecialDirectories, जिसकी यह संपत्ति है:

My.Computer.FileSystem.SpecialDirectories.Desktop

मैं इसे C # में कैसे कर सकता हूं?

जवाबों:


776
string path = Environment.GetFolderPath(Environment.SpecialFolder.Desktop);

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

7
शायद आप SpecialFolder.DesktopDirectory की तलाश कर रहे हैं? यह तार्किक के बजाय भौतिक फ़ोल्डर है।
जिमिकेल

1
यह मुझे व्यवस्थापक उपयोगकर्ता डेस्कटॉप लौटाता है अगर कार्यक्रम को व्यवस्थापक के रूप में चलाया जाता है
8

23
 string filePath = Environment.GetFolderPath(Environment.SpecialFolder.Desktop);
 string extension = ".log";
 filePath += @"\Error Log\" + extension;
 if (!Directory.Exists(filePath))
 {
      Directory.CreateDirectory(filePath);
 }

8
सुनिश्चित नहीं है कि डेस्कटॉप निर्देशिका बनाने के लिए इसका एक अच्छा विचार है ... लेकिन मार्ग 1 के अस्तित्व पर मान्यता हमेशा एक अच्छा विचार है।
थियरी सैवार्ड सॉउसर

4
Directory.CreateDirectoryयह देखने के लिए कि क्या निर्देशिका बनाने से पहले मौजूद है, इसलिए आपका ifकथन बेमानी है। निश्चित नहीं है कि यह सुविधा C # के बाद के संस्करण से है, लेकिन मुझे लगा कि मैं इसका उल्लेख करूंगा।
emsimpson92

0
// Environment.GetFolderPath
Environment.GetFolderPath(Environment.SpecialFolder.ApplicationData); // Current User's Application Data
Environment.GetFolderPath(Environment.SpecialFolder.CommonApplicationData); // All User's Application Data
Environment.GetFolderPath(Environment.SpecialFolder.CommonProgramFiles); // Program Files
Environment.GetFolderPath(Environment.SpecialFolder.Cookies); // Internet Cookie
Environment.GetFolderPath(Environment.SpecialFolder.Desktop); // Logical Desktop
Environment.GetFolderPath(Environment.SpecialFolder.DesktopDirectory); // Physical Desktop
Environment.GetFolderPath(Environment.SpecialFolder.Favorites); // Favorites
Environment.GetFolderPath(Environment.SpecialFolder.History); // Internet History
Environment.GetFolderPath(Environment.SpecialFolder.InternetCache); // Internet Cache
Environment.GetFolderPath(Environment.SpecialFolder.MyComputer); // "My Computer" Folder
Environment.GetFolderPath(Environment.SpecialFolder.MyDocuments); // "My Documents" Folder
Environment.GetFolderPath(Environment.SpecialFolder.MyMusic); // "My Music" Folder
Environment.GetFolderPath(Environment.SpecialFolder.MyPictures); // "My Pictures" Folder
Environment.GetFolderPath(Environment.SpecialFolder.Personal); // "My Document" Folder
Environment.GetFolderPath(Environment.SpecialFolder.ProgramFiles); // Program files Folder
Environment.GetFolderPath(Environment.SpecialFolder.Programs); // Programs Folder
Environment.GetFolderPath(Environment.SpecialFolder.Recent); // Recent Folder
Environment.GetFolderPath(Environment.SpecialFolder.SendTo); // "Sent to" Folder
Environment.GetFolderPath(Environment.SpecialFolder.StartMenu); // Start Menu
Environment.GetFolderPath(Environment.SpecialFolder.Startup); // Startup
Environment.GetFolderPath(Environment.SpecialFolder.System); // System Folder
Environment.GetFolderPath(Environment.SpecialFolder.Templates); // Document Templates
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.